我有一个使用 jetty 运行的 Web 应用程序。我在此 Web 应用程序中包含了一个 client.jar 以实现功能。 client.jar 需要一个系统属性 -Dconfig 以及属性文件的位置。当我使用 jetty-runner 启动应用程序时,如何将其传递给它?我只能找到通过 jetty.xml 设置它,但我正在尝试查找是否有通过命令行的方法。
最佳答案
这不是通过命令行传递属性的解决方案。我通过将下面的文件 jetty.xml 传递到命令行来修复此问题,如下所示。我将其发布在这里,因为它可能会对某人有所帮助。
nohup $JAVA_HOME/bin/java -Denv=$1 -jar $LIB_PATH/jetty-runner-*.jar --config $CONF_PATH/jetty.xml $DIST_PATH/my-app*.war &
jetty.xml
<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Call class="java.lang.System" name="setProperties">
<Arg>
<New class="java.util.Properties">
<Call name="putAll">
<Arg>
<Call class="java.lang.System" name="getProperties" />
</Arg>
</Call>
<Call name="setProperty">
<Arg>iamconfig</Arg>
<Arg>iamclient.properties</Arg>
</Call>
</New>
</Arg>
</Call>
</Configure>
关于java - 通过命令行将系统属性传递给 Jetty runner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28103732/