我需要使用windows格式作为maven上exec的参数传递一个目录,这里是pom.xml的摘录
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>export</id>
<phase>deploy</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<escape>true</escape>
<executable>${cmdl.exec}</executable>
<workingDirectory>${cmdl.location}</workingDirectory>
<arguments>
<argument>${project.basedir}\\target\\classes\\publishRoute</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
我遇到的问题是$ {project.basedir}解决单斜杠:
cmd /c script_cmdline.bat C:\Talend_CI\talend\release\Routes\SimpleRoute\\target\\classes\\publishRoute
我需要用双反斜杠传递它。如何使用$ {project.basedir}实现此目的?
答案 0 :(得分:1)
您有一种方法可以重载变量或声明一个新变量来表示基于项目的项目 像这样:
<basdir.home>C:/Talend_CI/talend/release/Routes/</basdir.home>
答案 1 :(得分:0)
在查看与此问题相关的几个帖子后,似乎是解决此问题的唯一有效方法是使用属性列表并相应地使用它们来实现分析。虽然不是一个优雅的解决方法,但您可以选择动态分配文件路径,而不管用于运行maven的OS / Platform。