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

时间:2015-01-23 05:41:14

标签: java web-applications jetty system-properties

我是一个使用jetty运行的Web应用程序。我在此Web应用程序中包含了一个client.jar以获取功能。 client.jar需要一个系统属性-Dconfig,其中包含属性文件的位置。当我使用jetty-runner启动应用程序时,如何将其传递给我?我只能通过jetty.xml找到它,但我试图找到是否通过命令行。

2 个答案:

答案 0 :(得分:1)

这不是通过命令行传递属性的解决方案。我通过将下面的文件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>

答案 1 :(得分:0)

在我们的项目中,我们使用以下代码集在进行码头时设置系统属性:运行

 clean compile -Dcurrent.region=AIR jetty:run