java - 通过命令行将系统属性传递给 Jetty runner

标签 java web-applications jetty system-properties

我有一个使用 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/

相关文章:

java - 将字节数组写入java中的子文件夹

java - 如何让我的 Web 应用程序在移动设备浏览器上使用不同的样式表呈现?

python - 网络应用程序 : Flask - html - wtforms: form with two submit buttons

maven - jax-ws 和 jetty (使用 maven)

java - 无法从 Karaf 2.2.0 OSGi 容器中的根上下文运行 WAR

java - Chrome 版本 44 在 selenium 测试中存在一些问题

java - 如何将 JPanel 与 JFrame 底部对齐(java swing)

c# - 开源 ASP.NET 甘特图 Web 控件

javascript - 如何将 WebSocketServlet 添加到具有上下文路径的嵌入式 Jetty 服务器?

java - 使用单个 for 循环(通用)编写嵌套循环 - java