Я долго зацикливаюсь на этой проблеме, не находя решения.
В моем Tomcat7_1w.exe есть следующие параметры Java:
(У меня нет setenv.bat или catalina.bat)
-Dcatalina.home=G:\Server\Tomcat_1
-Dcatalina.base=G:\Server\Tomcat_1
-Djava.endorsed.dirs=G:\Server\Tomcat_1\endorsed
-Djava.io.tmpdir=G:\Server\Tomcat_1\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=G:\Server\Tomcat_1\conf\logging.properties
-XX:SoftRefLRUPolicyMSPerMB=3600
-XX:+UseParallelGC
-XX:NewRatio=2
-Dserver
-D64
-Xmx8g
-Xms2g
Но я получаю следующую ошибку:
[2018-03-09 16:01:29] [error] [12196] CreateJavaVM Failed
[2018-03-09 16:01:29] [error] [12196] The system could not find the environment option that was entered.
[2018-03-09 16:01:29] [error] [ 1620] Failed to start Java
[2018-03-09 16:01:29] [error] [ 1620] ServiceStart returned 4
Я пробовал -Xmx4g, -Xmx4G все та же ошибка.
Варианты, которые работают:
-Dcatalina.home=G:\Server\Tomcat_1
-Dcatalina.base=G:\Server\Tomcat_1
-Djava.endorsed.dirs=G:\Server\Tomcat_1\endorsed
-Djava.io.tmpdir=G:\Server\Tomcat_1\temp
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=G:\Server\Tomcat_1\conf\logging.properties
-XX:SoftRefLRUPolicyMSPerMB=3600
-XX:+UseParallelGC
-XX:NewRatio=2
-Dserver
-Xmx1024m
-Xms512m
Кроме того, если я использую опцию -d64 (с маленьким d), я получаю ту же ошибку. Заглавная D ошибки не выдает.
Что я делаю неправильно?
@glytching Как проверить версию моей JVM? У меня есть папка jre6 в Program files и папка jre1.8.0_121 в папке Program Files (x86)
Вы запускаете java -version, чтобы узнать, какая java-версия системы по умолчанию. Я верю, что tomcat также где-то регистрирует это, поэтому, если вы попробуете настроить параметры, которые работают, вы сможете проверить это в одном из файлов журнала.




Параметры -d32 и -d64 не работают в Windows. Вы должны выбрать соответствующую папку bin с JRE (32 или 64 бит) в системной переменной PATH.
Спасибо за информацию, помогли решить мою проблему! Я понял, что не только версия JRE была 32-битной, но и версия Tomcat была 32-битной. Мне пришлось установить 64-битные версии обоих, а затем я смог установить желаемый размер кучи.
Из Ответ Дариуша в Windows вы не можете переключаться между 32-битной и 64-битной версиями Java, вместо этого вам нужно установить желаемую версию JVM.
Если вы получаете следующую ошибку:
%1 is not a valid Win32 application.
Failed creating java C:\Program Files\Java\jre1.8.0_161\bin\server\jvm.dll
Тогда существует несоответствие версий между вашей JVM и Apache Tomcat, то есть одна 32-битная, а другая 64-битная. Оба должны быть одной и той же версии.
Согласно комментариям здесь, опция -d32 или -d64 действует только на платформах Solaris, поэтому вам не нужно ее применять. Этот -Dserver либо не завершен, либо вы хотели настроить -сервер.