将line.paparator传递给maven

时间:2012-11-08 11:18:32

标签: java maven exec-maven-plugin

我想将line.separator传递给exec插件,但似乎我没有正确传递它。我尝试了很多组合,但找不到解决方案。什么是正确的方法?

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2.1</version>
    <executions>
        <execution>
            <phase>test</phase>
            <goals>
                <goal>exec</goal>
            </goals>
            <configuration>
                <executable>java</executable>
               <arguments>
                   <argument>-Dline.separator=\n</argument>
                   <argument>-classpath</argument>
                   <classpath />
                   <argument>GeneratorExec</argument>
               </arguments>
            </configuration>
        </execution>
    </executions>
</plugin>

1 个答案:

答案 0 :(得分:3)

那不行。问题是该命令是在shell中执行的。 shell会将\n解释为两个字符,而不是一个转义字符。

请看这个博客:Passing '\n' (new-line) on command line in Java

您必须让GeneratorExec将这两个字符作为参数,然后在程序中处理它。