如何将XML文件内容作为命令行参数传递给java命令?

时间:2015-02-13 13:08:19

标签: java xml groovy

我有一个xml文件。我想将xml内容传递给java命令行参数。

abc.xml

   <a>
    <block1>abc</block1>
    <block2>xyz</block2>
    <block3>pqr</block3>
    </a>

下面是我的groovy / java代码,用于从文件中获取数据并将其传递给java命令行参数。

File fl = new File("PATH/abc.xml")
String filecontent = fl.getText()
String cmd = "Java -cp abc.jar package.CLASSNAME "+filecontent 
Process proc = Runtime.getRuntime().exec(cmd);
proc.waitFor()

此命令不执行刚刚进程。 为什么?

1 个答案:

答案 0 :(得分:1)

我的头顶上没有经过测试的代码,所以请把它当作值得的:

File fl = new File("PATH/abc.xml")
String filecontent = fl.readLines().*trim().join(' ')
String cmd = "java -cp abc.jar package.CLASSNAME \"${filecontent}\"" 
Process proc = Runtime.getRuntime().exec(cmd);
proc.waitFor()

由于这是Groovy代码,我还会将其更改为直接调用package.Classname.main(),而不是分离进程和另一个JVM:

File fl = new File("PATH/abc.xml")
String filecontent = fl.readLines().*trim().join(' ')
package.CLASSNAME.main([filecontent])