A execução do programa Java a partir do PowerShell inicia uma JVM de 64 bits: A partir do arquivo .bat, inicia a JVM de 32 bits

1

Estou tentando iniciar um aplicativo Java a partir de um arquivo em lote, com um tamanho de heap 2G, assim:

java -Xmx2G -XX:MaxPermSize=256M -jar cauldron-1.7.10-1.1236.05.212-server.jar nogui

Ao executar esse comando a partir de um arquivo em lotes, o Windows tenta iniciá-lo usando uma JVM de 32 bits que falha terrivelmente, porque um heap 2G é muito grande para uma JVM de 32 bits.

D:\directory>java -Xmx2G -XX:MaxPermSize=256M -jar minecraft_server.1.7.10.jar nogui
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

A adição do sinal -d64 para tentar forçar uma JVM de 64 bits confirma que o Windows está tentando iniciar isso em uma JVM de 32 bits.

D:\directory>java -d64 -Xmx2G -XX:MaxPermSize=256M -jar minecraft_server.1.7.10.jar nogui
Error: This Java instance does not support a 64-bit JVM.
Please install the desired version.

No entanto, quando executo exatamente o mesmo comando em um console do PowerShell, o Windows decide usar o Java de 64 bits e tudo funciona bem.

Eu estou supondo que a variável de caminho é diferente para um arquivo em lote vs. um console do powershell.

Qual é a causa raiz deste problema, como posso corrigi-lo e como posso impedir que isso aconteça novamente?

Adendo:

Saída de java -debug -version de um arquivo em lotes:

D:\directory>java -debug -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) Client VM (build 24.45-b08, mixed mode, sharing)

E de um PowerShell:

PS D:\ATLauncher_Hacking\install> java -debug -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)

Editar: executando ECHO %PATH% de um arquivo em lote - vejo que C:\Program Files\Java\jre7\bin está no caminho.

    
por Li-aung Yip 04.01.2015 / 12:48

0 respostas

Tags