我正在用maven-shade-plugin
和Netbeans 8.0构建我的项目,并抱怨以下警告:
项目的主要工件是通过maven-shade-plugin
处理的当最终的工件jar包含不是源自当前项目的类时,NetBeans内部编译器不能使用项目的源代码进行编译。然后,在项目源代码中所做的更改仅在重新编译项目时显示在依赖的项目中。同样也适用于像Refactoring这样无法在依赖的项目中找到用法的特性。
我该如何解决这个问题?它能打破什么?
我在Apache的Maven文档
中找到了一个"修复"我在阴影插件部分添加了以下内容。
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>launcher</shadedClassifierName> <!-- Can be any name that makes sense -->
</configuration>
我现在有2个工件,但它适合我的需要。
通常在依赖于这个的项目中是一个问题。
虽然本地repo中的jar文件包含它自己依赖的类,但src/main/java文件夹不包含它们。当java引擎试图在编辑器中重新编译本地完成的更改时,这会使它感到困惑。
没有办法"修复"它。它是在向编辑器提交了多次错误后放置在那里的,这些错误显示了没有的编译错误。