簡體   English   中英

在編譯項目時,maven可以更改包聲明嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM