Java Netbeans:project';s的主要工件是通过maven shade插件处理的
我正在使用Java Netbeans:project';s的主要工件是通过maven shade插件处理的,java,maven,netbeans,maven-shade-plugin,Java,Maven,Netbeans,Maven Shade Plugin,我正在使用maven shade插件构建我的项目,Netbeans 8.0发出以下警告: 项目的主要工件通过maven shade插件处理 当最后一个工件jar包含非源于当前项目的类时,NetBeans内部编译器无法使用项目的源代码进行编译。然后,当项目重新编译时,在项目源代码中所做的更改只会出现在依赖的项目中。也适用于重构之类的功能,这些功能无法在依赖的项目中找到用途 我怎样才能解决这个问题?它会破坏什么?通常,这是依赖于此的项目中的一个问题 虽然本地repo中的jar文件包含来自其自身依赖项
maven shade插件构建我的项目,Netbeans 8.0发出以下警告:
项目的主要工件通过maven shade插件处理
当最后一个工件jar包含非源于当前项目的类时,NetBeans内部编译器无法使用项目的源代码进行编译。然后,当项目重新编译时,在项目源代码中所做的更改只会出现在依赖的项目中。也适用于重构之类的功能,这些功能无法在依赖的项目中找到用途
我怎样才能解决这个问题?它会破坏什么?通常,这是依赖于此的项目中的一个问题
虽然本地repo中的jar文件包含来自其自身依赖项的类,但src/main/java文件夹不包含这些类。当java引擎试图重新编译在编辑器中本地完成的更改时,这会混淆它
没有办法“修复”它。它被放在那里是因为编辑器反复出现错误,显示出编译错误,而实际上根本没有。我认为让用户消除警告是有问题的。我按照中的说明找到了一个“修复”
我在我的pom的shade插件部分添加了以下内容
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>launcher</shadedClassifierName> <!-- Can be any name that makes sense -->
</configuration>
真的
发射装置
我现在有2个工件,但它可以满足我的需要。你能用-X-e
运行它,并在stacktrace上贴上精确的错误吗message@JigarJoshi您好,我不知道在哪里添加这些参数:/此消息来自NetBeans本身,而不是我运行的构建命令,请参见将Maven目标绑定到IDEactions@JigarJoshi警告仍然是一样的。我也这样做了:。仍然没有什么比我发布的更重要的了:/这是让它消失的答案吗?警告会随着这个“修复”而消失。实际上,我认为第一个元素,shadedarifactattached
,正是必需的。后者只是一个可选元素,因为它完全不影响任何内容,而netbeans warning也会在使用或不使用元素时消失,shadedClassifierName
。