को अनदेखा करता है मैंने Class-Path
विशेषता में मनमानी प्रविष्टि जोड़ने के लिए https://stackoverflow.com/a/5893391/14731 पर दिए गए निर्देशों का उपयोग किया।निष्पादन योग्य JAR अपने स्वयं के क्लास-पथ विशेषता
Manifest-Version: 1.0
Class-Path: jace-runtime.jar
Main-Class: org.jace.examples.Test
मैं org.jace.examples.Test परिभाषित इस प्रकार है::
public class Test
{
public static void main(String[] args)
{
System.out.println("classpath: " + System.getProperty("java.class.path"));
System.out.println("PeerExample: " + Class.forName("org.jace.util.ShutdownHook"));
}
}
जहां org.jace.util.ShutdownHook
jace-runtime.jar
में परिभाषित किया गया है यहाँ मेरी MANIFEST.MF फ़ाइल है।
classpath: peer_example1.jar
धागा "मुख्य" java.lang.ClassNotFoundException में अपवाद:: जब मैं java -jar peer_example1.jar
आह्वान मैं निम्नलिखित आउटपुट प्राप्त org.jace.util.ShutdownHook
दूसरे शब्दों में, जावा निष्पादन योग्य JAR फ़ाइल जोड़ रहा है कक्षा के लिए लेकिन Class-Path
को अनदेखा कर रहा है।
classpath: jace-runtime.jar;peer_example1.jar
कोई भी विचार: यदि मैं java -cp jace-runtime.jar;peer_example1.jar org.jace.examples.Test
आह्वान मैं उम्मीद आउटपुट प्राप्त?
यदि आपको जार रूट को वर्तमान कार्यशील निर्देशिका के रूप में माना जाता है तो आपको ../jace-runtime.jar की आवश्यकता हो सकती है। –
@ मार्कोटोपॉलिक: मैंने अभी कोशिश की है। यह काम नहीं किया। – Gili
लेकिन क्या आपने उस अन्य जार में एक कक्षा तक पहुंचने का प्रयास किया है?ऐसा लगता है कि java.class.path मेनिफेस्ट से पढ़ने वाले वर्गपैथ को प्रतिबिंबित नहीं करता है। –