[英]Can maven change package declarations when compiling a project?
好吧,我已經在這個主題上搜索了很多遍,但是還沒有找到答案:Maven可以在編譯項目之前立即更改包聲明嗎?
我的目標是將項目A(它是一個API)全部放在一個包中,並且每個項目B和C在eclipse上都將使用相同的依賴項。 我的目標是,一旦maven將要編譯項目,則將包聲明更改為該項目的特定包,然后對其進行編譯。
這很有用,因為我有許多項目都使用相同的API,並且我會不斷修改API本身以適應我的需求,但是不得不仔細檢查每個項目並重新進行更改是很痛苦的。
如果您有任何想法,更重要的是,如果有可能,請告訴我。 提前致謝!
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文件中的程序包聲明非常相似。 到現在為止,應該有很多新版本的插件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.