我通过standalone.bat启动JBoss as7,它通过standalone.conf.bat获取它的JAVA_OPTS启动选项。我在standalone.conf.bat中设置了大部分JAVA_OPTS,我对一些JAVA_OPTS有一些疑问
-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中。这似乎不起作用,当我通过standalone.bat启动JBoss时,我收到“无法识别的选项-mp”或“无法识别的选项-logmodule”等错误。如果我从standalone.conf.bat中删除这些行,我的JBoss就能够成功启动。
我的问题是 - 我是否需要设置这些JBoss启动选项?我无法找到很多关于它们的文档,特别是'-mp'。如果是这样,设置这些启动选项的最佳方法是什么? JBoss不喜欢上面的语法。任何建议表示赞赏。
答案 0 :(得分:3)
-mp , -logmodule 和 -jaxpmodule 选项属于JBoss,而不是Java解释器。您的启动失败是因为您将它们包含在Java选项列表中并且解释器正在阻塞(它无法识别这些选项)。
如果您不想绕过standalone.bat
,我认为没有理由将这些选项移至standalone.conf.bat
文件。
修改强> 的
JBoss 7.0.1的默认standalone.bat包含以下条目:
: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 值,则只需在独立版中执行此操作即可。蝙蝠文件另外,看起来您使用的是默认值,因此甚至不需要进行任何更改。
答案 1 :(得分:3)
为什么java
退出时出现无法识别的选项'错误
选项传递到java
的顺序是相关。
作为Perception writes在他的回答中,-mp
,-logmodule
和-jaxpmodule
是JBoss选项。 Oracle Help Center解释了必须在class
(要调用的类的名称)之后或-jar file.jar
选项之后指定这些和其他非JVM选项:
java [JVM options] class [non-JVM options]
java [JVM options] -jar file.jar [non-JVM options]
(然后将非JVM选项传递给class
的主函数,或者在使用-jar file.jar
时,传递给JAR中Main-Class manifest header指示的启动类中的main函数文件)。
这就是为什么在JAVA_OPTS中设置JBoss选项不起作用的原因:它们位于-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
抱怨因为它需要一个合法的JVM选项。
提出您的问题
我是否需要设置这些JBoss启动选项?
这些是默认值,所以不,你不是。
设置这些启动选项的最佳方法是什么?
您可以将JBoss选项添加到SERVER_OPTS变量中,因为它附加到命令的末尾。
对于好奇:其他JBoss选项
您可以使用java -jar %JBOSS_HOME%\jboss-modules.jar
列出其他JBoss选项:
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