我有一个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()
此命令不执行刚刚进程。 为什么?
答案 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])