problem with MANIFEST.MF in jar
I have created my jar file in the following folder:
/usr/local/bin/niidle.jar
And I have one jarfile which is in the following folder
/Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar
And this file 'hector-0.6.0-17.jar' I have to include in MANIFEST.MF in jar.
And when I mention class path in MANIFEST.MF as follows:
Manifest-Version: 1.0
Main-Class: com.ensarm.niidle.web.scraper.NiidleScrapeManager
Class-Path: /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar
When I run this using command:
java -jar /usr/local/bin/niidle.jar
It works properly..
But I dont want to give full Class-Path name, I have to give Class-Path as follows:
Manifest-Version: 1.0
Main-Class: com.ensarm.niidle.web.scraper.NiidleScrapeManager
Class-Path: lib/hector-0.6.0-17.jar
And when I run this using command:
java -jar /usr/local/bin/niidle.jar
It is showing error message:
Exception in thread "main" java.lang.NoClassDefFoundError: me/prettyprint/hector/api/Serializer at com.ensarm.niidle.web.scraper.NiidleScrapeManager.main(NiidleScrapeManager.java:21) Caused by: java.lang.ClassNotFoundException: me.prettyprint.hector.api.Serializer at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.f开发者_如何转开发indClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) ... 1 more
Please tell me solution for that...
I see at least two solutions:
- store hector-0.6.0-17.jar inside niidle.jar and use a relative path in Class-Path. E.g.
Class-Path: lib/hector-0.6.0-17.jar
(for niidle.jar/lib/hector-0.6.0-17.jar) java -cp /Projects/EnwelibDatedOct13/Niidle/lib/hector-0.6.0-17.jar -jar /usr/local/bin/niidle.jar
Create a lib
folder in the folder where you are running the command, put hector-0.6.0-17.jar
in it and try running the command again.
精彩评论