如何将外部属性源文件添加到码头 9 码头.xml ?
我使用弹簧注释和外部属性源文件
@PropertySources({
@PropertySource(name = "arm", value = "${propertySource}")
})
public class SecurityConfig extends WebSecurityConfigurerAdapter {
当我通过 maven 运行应用程序时,我使用像属性源这样的参数:
mvn -DpropertySource=file:/etc/jetty/arm.properties jetty:stop jetty:run
它的工作完美码头从/etc/jetty/arm.properties config params 开始。
如何添加 -DpropertySource=/etc/jetty/arm.properties 像参数一样启动码头 ? 锄头到可配置码头.xml ?
我阅读文档http://www.eclipse.org/jetty/documentation/current/jetty-xml-usage.html
并将字符串添加到码头.xml :
<SystemProperty name="propertySource" default="file:/etc/jetty/arm.properties"/>
但这行不通,码头失败了。
<SystemProperty>
的用途是计算命名系统属性,并在 XML 文件中将其用作您尝试配置的任何内容的值。
方法可以使用码头分布来实现此目的。
1:只需使用 Java JVM 命令行添加属性
$ cd /path/to/mybase
$ java -DpropertySource=file:/etc/jetty/arm.properties -jar /path/to/jetty-dist/start.jar
2:允许 ${jetty.base} 管理 Java JVM 属性
在您的${jetty.base}
将以下 2 行添加到您的start.ini
--exec
-DpropertySource=file:/etc/jetty/arm.properties
然后你可以正常运行码头...
$ cd /path/to/mybase
$ java -jar /path/to/jetty-dist/start.jar
奖励:替代技术
由于这是 Spring,因此您可以改用类加载器资源。
运行此命令以启用资源类路径
$ cd /path/to/mybase
$ java -jar /path/to/jetty-dist/start.jar --add-to-start=resources
然后将属性文件放入新${jetty.base}/resources
最后,改为通过 Spring 类加载器资源引用来引用您的PropertySources
。
In your ${jetty.base} add the following 2 lines to your start.ini
--exec
-DpropertySource=file:/etc/jetty/arm.properties
#service jetty9 start
[FAIL] Starting Jetty 9 Servlet Engine: jetty9 failed!
# sudo service jetty9 check
[ ok ] Checking arguments for Jetty:.
. ok
[ ok ] PIDFILE = /var/run/jetty9.pid.
[....] JAVA_OPTIONS = -Xmx256m -Djava.awt.headless=true -Djava.io.tmpdir=/var/cache/jetty9/data -Djava.library.path=/usr/lib -Djetty.home=/usr/share/jetty9 -Djetty.logs=/var/log/jetty9 -Djetty.state=/var/lib/jetty[ ok ty.state.
[ ok ] JAVA = /usr/lib/jvm/java-8-openjdk-amd64/bin/java.
[ ok ] JETTY_USER = jetty.
[ ok ] ARGUMENTS =.
[ ok ] Jetty 9 Servlet Engine is running with pid 23749.
解决方案 2
添加到开始.ini行 --添加到开始=资源c
# sudo service jetty9 start
[warn] Starting Jetty 9 Servlet Engine: jetty9[....] /var/run/jetty9.pid exists, but jetty was not running. Ignoring /var/run/jetty9.pid ... (warning).
failed!
我在哪里可以看到日志?