我该如何使用JAVA_OPTS环境变量?

80
我该如何使用 JAVA_OPTS 变量来配置 Web 服务器(Linux 服务器)?
我该如何使用 JAVA_OPTS 设置 -Djava.awt.headless=true
6个回答

93

JAVA_OPTS是一个标准的环境变量,一些服务器和其他Java应用程序会在执行java命令时添加它。

例如,在Tomcat中,如果你定义了JAVA_OPTS='-Xmx1024m',启动脚本将执行java org.apache.tomcat.Servert -Xmx1024m

如果你正在Linux/OSX系统上运行,则可以通过在调用启动脚本之前设置JAVA_OPTS来实现。

JAVA_OPTS='-Djava.awt.headless=true'

这个设置只会在控制台打开期间有效。如果要让它更加持久化,您可以将其添加到您的~/.profile或者~/.bashrc文件中。


如果您运行Spring Boot可执行jar包,您可以通过以下方式指定-D属性,例如:JAVA_OPTS="-Dspring.profiles.active=test" ./myapp.jar - zhuguowei

23

在Oracle Java中,环境变量被称为:JAVA_TOOL_OPTIONS而不是JAVA_OPTS


19

JAVA_OPTS 是 tomcat 启动/关闭脚本中使用的环境变量,用于配置参数。

在 Linux 中可以通过以下方式设置:

export JAVA_OPTS="-Djava.awt.headless=true" 

5

JAVA_OPTS 不仅限于 Tomcat 的 Java 进程,而是传递给在同一机器上运行的所有 JVM 进程。

如果您要将 JVM 参数特别传递给 Tomcat 的 Servlet 引擎,请使用 CATALINA_OPTS


17
这并不严格正确。许多“JVM进程”根本不会关注$JAVA_OPTS参数。例如,Oracle的Java命令、Apache的“mvn”、Apache的“ant”等都是如此。 - Stephen C

2

实际上,即使被接受的答案说你不能这样做,你也可以。

有一个名为_JAVA_OPTIONS的环境变量,更多信息请参见此处


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接