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
  • 49,761
  • 33
  • 66
  • 176
nicks
  • 2,161
  • 8
  • 49
  • 101

5 Answers5

2

Add external libraries to the manifest.mf:

Class-Path: . MyApp_lib/extlib.jar MyApp_lib/extlib2.jar ...
Roman C
  • 49,761
  • 33
  • 66
  • 176
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
  • 18,501
  • 4
  • 62
  • 91
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
  • 16,024
  • 8
  • 58
  • 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.

Siva Arunachalam
  • 7,582
  • 15
  • 79
  • 132
0

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

JAR file classpath

crownjewel82
  • 437
  • 2
  • 12