[英]how to exclude java sources from a third party jar?
我的java項目中也有一個jar依賴項,其中也包含源代碼,當我運行mvn compile時,這些java源代碼在我的已編譯maven輸出中顯示為類文件:(...如何排除這些文件。我自己的編譯文件在編譯輸出中)
我嘗試了類似的東西:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1-SNAPSHOT</version>
<configuration>
<excludes>
<exclude>**/bv/**/*.java</exclude>
</excludes>
</configuration>
</plugin>
玩過它,但它們一直出現在我的Maven編譯輸出中:( ..
有任何想法嗎 ?
我的理解是,這是javac
的正常行為,除非給出-sourcepath
選項,否則它將在整個類路徑中搜索要編譯的源文件(這將是此處的解決方案)。
不幸的是,存在一個有關Maven編譯器插件未將-sourcepath
傳遞給javac
的Jira問題(請參閱MCOMPILER-98 ),但是有一種解決方法。 因此,請您嘗試一下:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<sourcepath>${project.basedir}/src/main/java</sourcepath>
</compilerArguments>
</configuration>
</plugin>
提供的范圍會起作用嗎?
來自: http : //maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html :
這很像編譯,但是表明您希望JDK或容器在運行時提供依賴項。
您可以將-implicit:none
參數傳遞給編譯器
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArgument>-implicit:none</compilerArgument>
</configuration>
</plugin>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.