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

2022-09-03 12:51:25

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

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

当最终的项目 jar 包含并非源自当前项目的类时,NetBeans 内部编译器无法使用项目的源代码进行编译。然后,在项目源代码中完成的更改仅在重新编译项目时显示在相应的项目中。也适用于重构等功能,这些功能将无法在相关项目中找到用法。

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


答案 1

我按照Apache的Maven Docs中的说明找到了“修复程序”

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

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

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


答案 2

通常,这是项目中的问题,具体取决于此项目。

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

没有办法“修复”它。在对编辑器进行重复的错误提交后,它被放置在那里,显示没有编译错误的地方。我认为有一个问题可以让用户让警告消失。


推荐