我有一些使用包前缀的java源文件(它们模拟一些JDK类).我使用带有前缀的这些文件来对抗某些单元测试.如果测试通过,我想生成一个包含源文件但从所有java文件中删除包前缀的jar.
我正在使用maven进行构建.有没有人知道这样做的方法?基本上我想要的是像资源插件过滤功能,但它正确搜索和替换(如:s/my.package.prefix .// g),而不是过滤$ {vars}.
小智 46
你也可以使用
http://code.google.com/p/maven-replacer-plugin/
100%maven,完全按照自己的意愿行事
Dea*_*vey 27
这可以通过antrun插件解决.首先需要将源复制到目标目录,具有:
<build>
...
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.java</include>
</includes>
</resource>
</resources>
...
</build>
Run Code Online (Sandbox Code Playgroud)
其次,您使用replaceantrun插件的任务来使用prepare package阶段替换文件
<build>
...
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>prepare-package</phase>
<configuration>
<tasks>
<replace token= "my.package.prefix." value="" dir="target/classes">
<include name="**/*.java"/>
</replace>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
...
</build>
Run Code Online (Sandbox Code Playgroud)
这将在源 - 资源阶段将源文件复制到目标/类,在准备包阶段中对目标/ classes目录中的文件进行搜索和替换,最后它们将在程序包阶段发生震动.
| 归档时间: |
|
| 查看次数: |
44652 次 |
| 最近记录: |