如何将外部PropertySource文件添加到jetty 9 jetty.xml?
我使用spring注释和External PropertySource文件
@PropertySources({
@PropertySource(name = "arm", value = "${propertySource}")
})
public class SecurityConfig extends WebSecurityConfigurerAdapter {
当我通过maven运行应用程序时,我使用了属性如propertySource:
mvn -DpropertySource=file:/etc/jetty/arm.properties jetty:stop jetty:run
它的工作完美的码头以/etc/jetty/arm.properties config params开始。
如何添加-DpropertySource = / etc / jetty / arm.properties像一个参数来启动jetty?锄到可配置的jetty.xml?
我阅读了文档 http://www.eclipse.org/jetty/documentation/current/jetty-xml-usage.html
并将字符串添加到jetty.xml:
<SystemProperty name="propertySource" default="file:/etc/jetty/arm.properties"/>
但这不起作用,码头失败。
答案 0 :(得分:0)
<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}
中,将以下两行添加到start.ini
--exec
-DpropertySource=file:/etc/jetty/arm.properties
然后你可以正常运行Jetty ......
$ 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
。
答案 1 :(得分:0)
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
添加到start.ini行--add-to-start = resourcesc
# 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!
我在哪里可以看到日志?