欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決maven打包排除類不生效maven-compiler-plugin問題

 更新時間:2024年11月30日 14:25:50   作者:HetFrame  
總結(jié):在Spring Boot項目B中作為項目A的依賴時,排除啟動類不生效的原因是被其他類引用或父POM引入,解決方法是跳過test編譯或注釋掉@SpringBootTest(classes={BApplication.class})

問題

有個springboot項目B作為另一個項目A的依賴,在B打包的時候需要排除它的啟動類。

按照百度的說法,只需要添加以下配置就可以排除掉。

<build>
        <!--打包項目包名-->
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>**/BApplication.java</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

但是實際打包后發(fā)現(xiàn)排除并不生效。

原因

1.排除的類在某個類C中import了,類C要編譯就必須編譯排除的類,所以要同時排除掉C。

2.parent pom引入了這個類,導(dǎo)致exclude不生效

解決辦法

在項目B中寫了單元測試,使用了注解

@SpringBootTest(classes={BApplication.class})

所以編譯test的時候強(qiáng)行編譯了啟動類。

因此只需要跳過編譯test或者注釋掉

@SpringBootTest(classes={BApplication.class})
<properties>
		<!--跳過編譯test-->
        <maven.test.skip>true</maven.test.skip>
        <!--跳過執(zhí)行單元測試-->
        <skipTests>true</skipTests>
</properties>
<build>
        <!--打包項目包名-->
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <!--覆蓋parent pom的配置-->
                <configuration combine.self="override">
                    <excludes>
                        <exclude>**/BApplication.java</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論