简体   繁体   中英

How to attach libraries to JAR file?

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?

将外部库添加到manifest.mf

Class-Path: . MyApp_lib/extlib.jar MyApp_lib/extlib2.jar ...

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 .

在此输入图像描述

The jar thus exported works fine.

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

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.

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

JAR file classpath

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM