Netbeans:项目的主要工件通过maven-shade-plugin处理

时间:2014-07-10 23:19:29

标签: java maven netbeans maven-shade-plugin

我正在使用maven-shade-plugin构建我的项目,Netbeans 8.0正在抱怨以下警告:

  

项目的主要工件通过maven-shade-plugin处理

     

当最终工件jar包含不是源自当前项目的类时,NetBeans内部编译器无法使用项目源进行编译。然后,在重新编译项目时,项目源代码中所做的更改仅出现在依赖项目中。也适用于重构等功能,无法在依赖项目中找到用法。

我该如何解决这个问题?它会破坏什么?

2 个答案:

答案 0 :(得分:16)

我按照Apache's Maven Docs

中的说明找到了“修复”

我在阴影插件部分将以下内容添加到我的pom中。

    <configuration>
      <shadedArtifactAttached>true</shadedArtifactAttached>
      <shadedClassifierName>launcher</shadedClassifierName> <!-- Can be any name that makes sense -->
    </configuration>

我现在有2个工件,但它可以满足我的需求。

答案 1 :(得分:6)

通常,这取决于这个项目中的问题。

虽然本地repo中的jar文件包含来自它自己的依赖项的类,但src / main / java文件夹并不包含它们。当java引擎尝试重新编译在编辑器中本地完成的更改时,这会混淆java引擎。

无法修复&#34;它。在针对编辑器提交了反复出现的错误之后,它被放置在那里,显示编译错误,但没有错误。我认为存在一个让用户让警告消失的问题。