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

How to pass XML file content into java command as command line argument?

我有一个 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()

这个命令没有执行,只是从进程中出来。 为什么??

未经测试的代码不在我的脑海中,所以请物有所值:

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])