2011-12-28 4 views
2

Я запускаю JBoss as7 через standalone.bat, откуда исходные параметры JAVA_OPTS запускаются через standalone.conf.bat. Я поставил большинство моих JAVA_OPTS в standalone.conf.bat, у меня есть несколько вопросов по поводу некоторых JAVA_OPTSВопросы по запуску JBoss вопросы

-mp "/opt/jboss-as-7.0.0.Final/modules" 
-logmodule org.jboss.logmanager 
-jaxpmodule javax.xml.jaxp-provider 

Я попытался установить это нравится

set "JAVA_OPTS=%JAVA_OPTS% -mp /opt/jboss-as-7.0.0.Final/modules" 
set "JAVA_OPTS=%JAVA_OPTS% -logmodule org.jboss.logmanager" 
set "JAVA_OPTS=%JAVA_OPTS% -jaxpmodule javax.xml.jaxp-provider" 

в standalone.conf.bat. Это, похоже, не работает, когда я запускаю JBoss через standalone.bat, я получаю такие ошибки, как «непризнанный параметр -mp» или «непризнанный вариант -logmodule». Если я удалю эти строки из моего standalone.conf.bat, мой JBoss сможет начать успешно.

Мои вопросы - мне даже нужно установить эти параметры запуска JBoss? Я не мог найти много документации о том, что они были, особенно «-mp». И если да, то каков наилучший способ установить эти параметры запуска? JBoss не нравится синтаксис выше. Любые советы приветствуются.

ответ

3

В -mp, -logmodule и -jaxpmodule варианты принадлежат JBoss, а не интерпретатор Java. Ваш запуск не работает, потому что вы включили их в список параметров Java, и интерпретатор задыхается (он не распознает эти параметры).

Если вы не пытаетесь обойти standalone.bat, то я не вижу причин переместить эти параметры в файл standalone.conf.bat.

EDIT

standalone.bat по умолчанию JBoss 7.0.1 имеет следующую запись:

:RESTART 
"%JAVA%" %JAVA_OPTS%^
"-Dorg.jboss.boot.log.file=%JBOSS_HOME%\standalone\log\boot.log"^
"-Dlogging.configuration=file:%JBOSS_HOME%/standalone/configuration/logging.properties"^
    -jar "%JBOSS_HOME%\jboss-modules.jar"^
    -mp "%MODULEPATH%"^
    -logmodule "org.jboss.logmanager"^
    -jaxpmodule "javax.xml.jaxp-provider"^
    org.jboss.as.standalone^
    -Djboss.home.dir="%JBOSS_HOME%"^
    %* 

Если вы хотите изменить -mp, -logmodule или -jaxpmodule значения, то просто сделайте это на месте в файле standalone.bat. В стороне, похоже, вы используете значения по умолчанию, поэтому никаких изменений не требуется.

+0

Я также попытался добавить их standalone.bat, это дало те же результаты. Это правильный синтаксис для использования или я должен использовать что-то вроде JBOSS_OPTS = ...? – user619804

+0

См. Редактирование моего ответа выше. – Perception

+0

Отлично. Спасибо за вашу помощь! – user619804

3

Почему java завершается с ошибкой «непризнанный вариант»

Порядок, в котором параметры передаются в java является отношение.

Как Perception writes в своем ответе, -mp, -logmodule и -jaxpmodule варианты JBoss. Oracle Help Center объясняет, что эти и другие варианты, не виртуальной машины Java должен быть указан после class (имя класса, который будет называться) или после -jar file.jar опции:

java [JVM options] class [non-JVM options] 
java [JVM options] -jar file.jar [non-JVM options] 

(опции Non-JVM затем передаются в основной функция class или, при использовании -jar file.jar, к основной функции в классе запуска, обозначенной Main-Class manifest header в файле JAR.)

Вот почему варианты настройки JBoss в JAVA_OPTS не будет работать: они предшествуют опцию -jar %JBOSS_HOME%\jboss-modules.jar, как вы можете видеть в standalone.bat:

"%JAVA%" %JAVA_OPTS%^
"-Dorg.jboss.boot.log.file=%JBOSS_HOME%\standalone\log\boot.log"^
"-Dlogging.configuration=file:%JBOSS_HOME%/standalone/configuration/logging.properties"^
-jar "%JBOSS_HOME%\jboss-modules.jar"^
-mp "%MODULEPATH%"^
-logmodule "org.jboss.logmanager"^
-jaxpmodule "javax.xml.jaxp-provider"^
org.jboss.as.standalone^
-Djboss.home.dir="%JBOSS_HOME%"^
%* 

java жалуется, потому что он ожидает, что вариант правовой виртуальной машины Java.

Чтобы вопросы

ли мне даже нужно установить эти параметры запуска JBoss?

Это значения по умолчанию, поэтому нет, вы этого не делаете.

Каков наилучший способ установки этих параметров запуска?

Вы можете добавить параметры JBoss в переменную SERVER_OPTS, так как она добавлена ​​в конец команды.

Для любознательных: другие варианты JBoss

Вы можете перечислить другие варианты JBoss с java -jar %JBOSS_HOME%\jboss-modules.jar:

Usage: java [-jvmoptions...] -jar jboss-modules.jar [-options...] <module-spec> [args...] 
    java [-jvmoptions...] -jar jboss-modules.jar [-options...] -jar <jar-name> [args...] 
    java [-jvmoptions...] -jar jboss-modules.jar [-options...] -cp <class-path> <class-name> [args...] 
    java [-jvmoptions...] -jar jboss-modules.jar [-options...] -class <class-name> [args...] 
    java [-jvmoptions...] -jar jboss-modules.jar -addindex [-modify] <jar-name> 

where <module-spec> is a valid module specification string 
and options include: 

    -help   Display this message 
    -modulepath <search path of directories> 
    -mp <search path of directories> 
        A list of directories, separated by ':', where modules may be located 
        If not specified, the value of the "module.path" system property is used 
    -class  Specify that the final argument is a 
        class to load from the class path; not compatible with -jar 
    -cp,-classpath <search path of archives or directories> 
        A search path for class files; implies -class 
    -dep,-dependencies <module-spec>[,<module-spec>,...] 
        A list of module dependencies to add to the class path; 
        requires -class or -cp 
    -deptree  Print the dependency tree of the given module instead of running it 
    -jar   Specify that the final argument is the name of a 
        JAR file to run as a module; not compatible with -class 
    -jaxpmodule <module-spec> 
        The default JAXP implementation to use of the JDK 
    -secmgr  Run with a security manager installed; not compatible with -secmgrmodule 
    -secmgrmodule <module-spec> 
        Run with a security manager module; not compatible with -secmgr 
    -addindex  Specify that the final argument is a 
        jar to create an index for 
    -modify  Modify the indexes jar in-place 
    -version  Print version and exit 
+0

Этот anwser должен быть принят! –