15

I am building my project with maven-shade-plugin and Netbeans 8.0 is complaining with the following warning:

Project's main artifact is processed through maven-shade-plugin

When the final artifact jar contains classes not originating in current project, NetBeans internal compiler cannot use the sources of the project for compilation. Then changes done in project's source code only appears in depending projects when project is recompiled. Also applies to features like Refactoring which will not be able to find usages in depending projects.

How can I fix this? What can it break?

Community
  • 1
  • 1
Anastasios Andronidis
  • 6,310
  • 4
  • 30
  • 53

2 Answers2

20

I found a "fix" by following the instructions over in Apache's Maven Docs

I added the following to my pom in the shade plugin section.

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

I now have 2 artifacts but it works for my needs.

ericski
  • 326
  • 1
  • 5
  • Is this the answer which lets it just disappear? – jntme Nov 11 '14 at 14:49
  • 3
    The warning disappears with this "fix." – ericski Nov 13 '14 at 15:46
  • 1
    Actually, I think the first element, `shadedArtifactAttached`, is exactly required. The latter is just an optional element because it does totally not affect anything, while netbeans warning also disappears with or without the element, `shadedClassifierName`. – 千木郷 Nov 12 '17 at 14:31
6

typically it's a problem in projects depending on this one.

While the jar file in local repo contains classes from it's own dependencies, the src/main/java folder doesn't contain them. That confuses the java engine when it attempts to re-compile the changes done locally in the editor.

there is no way to "fix" it. it's been placed there after repeated bugs were filed against the editor showing compile errors where there were none. I think there is an issue filed for letting the user have the warning disappear.

mkleint
  • 2,281
  • 1
  • 14
  • 17