好吧,我已经多次搜索过这个主题,但我还没有找到答案:maven可以在编译项目之前更改包声明吗?
我的目标是将项目A(一个API)集中在一个软件包中,每个项目B和C将对eclipse使用相同的依赖项。我的目标是,一旦maven即将编译项目,包声明将更改为该项目的特定包,然后它将编译项目。
这很有用,因为我有许多使用相同API的项目,我不断对API本身进行更改以满足我的需求,但是必须通过每个项目并再次更改它是一件痛苦的事。 / p>
如果你知道如何做到这一点,更重要的是,如果有可能,请告诉我。提前谢谢!
答案 0 :(得分:0)
Google的maven replacer插件可以执行此类操作,它可以在构建时编辑您的java文件。我用它来自动生成java文件中的警告。它绝对可以用于更多邪恶的东西。
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>maven-replacer-plugin</artifactId>
<version>1.3.2</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>replace</goal>
</goals>
</execution>
</executions>
<configuration>
<includes>
<include>src/main/java/mycodegen/**/*.java</include>
</includes>
<regex>true</regex>
<regexFlags>
<regexFlag>MULTILINE</regexFlag>
</regexFlags>
<replacements>
<replacement>
<token>^public class</token>
<value>@SuppressWarnings("all") public class</value>
</replacement>
</replacements>
</configuration>
</plugin>
这就是我用过的东西。它应该与Java文件中的更改包声明非常相似。到目前为止,应该有更多新版本的插件。