我正在尝试使用Docker在Jetty 9中部署Java WAR文件。我想通过环境变量配置数据库URI字符串、日志级别等内容,以便我还可以使用Docker的链接功能。
但是,如果我通过
最简单的方法是什么,可以将环境变量传递给我的应用程序?
但是,如果我通过
java -jar start.jar
启动应用程序,我设置的环境变量对应用程序不可用。最简单的方法是什么,可以将环境变量传递给我的应用程序?
java -jar start.jar
启动应用程序,我设置的环境变量对应用程序不可用。JAVA_OPTIONS
就可以了。FROM jetty:9.2.10
MAINTAINER Me "me@me.com"
ENV spring.profiles.active=dev
ENV JAVA_OPTIONS="-Dkey=value"
ADD myWar.war /var/lib/jetty/webapps/ROOT.war
使用系统环境变量(又称System.getenv(String)
)不被Jetty的start.jar
支持。
如果需要支持,请随时向Jetty提交功能请求。
但请注意,Jetty的start.jar
进程支持属性,可以作为系统属性或启动属性。可以在命令行或${jetty.base}/start.ini
中设置。
System.getProperties().contains("dbhost")
- 但是无论是将dbhost="localhost"
添加到start.ini文件中,还是使用-Ddbhost="localhost"
都没有起作用。 - Roberto
-Dkey=val
或属性文件) - Joakim Erdfelt