批处理文件以编辑文本文件

时间:2013-05-27 11:37:38

标签: java deployment batch-file

我需要使用war文件部署Web应用程序。

我已经研究了如何使用jar命令创建war文件。但是,当用户部署Web应用程序时,必须更新web.xml文件中的某个字符串以反映用户环境。

例如在web.xml文件中我有条目(示例):

<init-param>
 <param-name>colour</param-name>
 <param-value>red</param-value>
</init-param>

我想问用户颜色,然后更新war文件。显然,用户部署正确的东西。我可以使用jar uf更新文件 - 没问题。例如,上面的文本将插入文本文件中的设置位置。具体而言,将在文本之后。

我很高兴在命令行上执行此操作。例如:

  1. 提示用户输入字符串。
  2. 在web.xml中更新字符串
  3. 更新war部署文件中的web.xml文件。
  4. 然后很高兴用户手动将war文件复制到正确的位置。
  5. 我该怎么编程呢?目前,仅限Windows(但很快就会需要Linux支持)。批处理文件?有关如何处理的任何建议吗?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

搜索并替换为GNU sed

(适用于您的Q1&amp; Q2)

@echo off&setlocal
REM set the old color in a variable
set "oldstring=red"
REM prompt the user for a string
set/p "string=enter string: "
REM update string in web.xml
sed -i "s/%oldstring%/%string%/i" web.xml
type web.xml

..输出是:

enter string: green
<init-param>
 <param-name>colour</param-name>
 <param-value>green</param-value>
</init-param>

我不知道war files。请解释一下,然后我会改进我的代码。