How do I prevent IntelliJ from including 3rd-party JARs inside my JAR ?
It’s insanely annoying. Basically I want one of these:
- to produce jar with my code only. 3rd-party jar will be referenced in manifest.
OR
- to produce jar with extracted classes of 3rd-party libraries.
The only problem is that IntelliJ produces JAR with other jar files inside. They are useless because java doesn’t see them anyway when I run my jar via java -jar my.jar. I have to manually delete them and repack JAR/ZIP file.
Dependencies are not marked as “Export” in Settings.
I think jars end up in my jar because I added “compile output” in layout of my artifact. But I’m not sure how I can make compile output without jars of dependencies.
I tried setting Scope of dependencies to “Provided”. It didn’t help. They still get copied to output.
Thanks!
This behavior is controlled by the following options when you create a jar artifact in IDEA:
Refer to help for details.