1

It works fine when compiling project, but after exporting it to a runnable jar and launching, it can't find external files and throws an error. What should I do?

Roman C
  • 48,723
  • 33
  • 63
  • 158
nicks
  • 1,971
  • 7
  • 46
  • 98

5 Answers5

2

Add external libraries to the manifest.mf:

Class-Path: . MyApp_lib/extlib.jar MyApp_lib/extlib2.jar ...
Roman C
  • 48,723
  • 33
  • 63
  • 158
1

You could attempt building a fat jar that includes all the jars. It contains a custom class loader to load the jars referenced externally by your project.

Try using http://fjep.sourceforge.net/ plugin to build a fat jar.

You can export a java project containing jars using the File -> Export -> Other -> One Jar Exporter.

enter image description here

The jar thus exported works fine.

Ashutosh Jindal
  • 17,873
  • 4
  • 60
  • 87
0

You have to keep all required jars in the classpath to run your jar. Run your jar like :

java -cp extlib/* -jar yourjar.jar OR java -cp lib1.jar:lib2.jar:.. -jar yourjar.jar

Nandkumar Tekale
  • 15,514
  • 7
  • 56
  • 85
0

Make sure that while building the jar, you include all the used libraries(include everything from class path). This issue will happen when you refer a external jar.

Sivasubramaniam Arunachalam
  • 7,296
  • 15
  • 77
  • 129
0

You can include a classpath variable in the jar's manifest file.

JAR file classpath

crownjewel82
  • 427
  • 2
  • 12