如何在部署WAR文件时传递参数?

时间:2014-07-03 09:46:58

标签: java war

我基本上需要将参数传递给包含config.json路径的WAR文件。我希望以这样的方式实现它,以便一旦将项目导出为WAR文件,我应该能够在不打开WAR文件的情况下更改参数,并且必须再次导出它。我知道我可以在web.xml中传递参数,这些参数可以在servlet中获得但是不会更改web.xml要求我打开WAR文件吗?

我正在使用jetty-runner.jar来部署我的webapp。

2 个答案:

答案 0 :(得分:5)

当你运行jetty-runner.jar时,你可以将属性传递给jvm java -jar jetty-runner.jar my.war -Dproperty.name=value

在您的web.xml中,您可以使用以下语法

<context-param>
    <param-name>property.name</param-name>
    <param-value>${property.name}</param-value>
</context-param>

请在此处查看示例:http://www.xinotes.net/notes/note/1611/

答案 1 :(得分:1)

我可以看到2个问题的解决方案:
1)定义一个环境变量,该变量指定托管jetty实例的服务器上config.json的路径 2)在类路径中添加包含config.json的文件夹,并从Web应用程序访问它。