【问题标题】:Passing system properties to Jetty runner through command line通过命令行将系统属性传递给 Jetty runner
【发布时间】:2015-01-23 05:41:13
【问题描述】:

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

【问题讨论】:

  • 可能想发布一些您已经尝试过的命令行技术。
  • 我不知道如何通过命令行执行此操作。我在任何地方都没有找到它。到目前为止,我正在尝试使用 jetty.xml。

标签: java web-applications jetty system-properties


【解决方案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>

【讨论】:

    【解决方案2】:

    在我们的项目中,我们在执行 jetty:run 时使用了以下代码集来设置系统属性

     clean compile -Dcurrent.region=AIR jetty:run
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-25
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      • 2015-03-18
      相关资源
      最近更新 更多