मेरा जार नहीं चल रहा है, मैं कह सकता हूं कि लॉग 4j फ़ाइल लॉग फ़ोल्डर बनाने के लिए प्रबंधित होने के बाद इसे चलाने की कोशिश करता है लेकिन तब कुछ भी नहीं होता है और लॉग खाली हो जाता है।मैवेन एक्जिक्यूटिव जार बाहरी पथ पर पुस्तकालयों के साथ
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<outputDirectory>${staging.dir}/bin</outputDirectory>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addClasspath>true</addClasspath>
<mainClass>com.Main</mainClass>
<classpathPrefix>../lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
और
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${staging.dir}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
:
मेरे समस्या मैं एक फ़ोल्डर बुलाया बिन में जार फ़ाइल और lib
नामक एक फ़ोल्डर में पुस्तकालयों मैं इस triying हूँ है मैंने मेवेन-असेंबली-प्लगइन के साथ भी कोशिश की, लेकिन यह जार पर सब कुछ पैक करता है और मुझे वास्तव में फ़ोल्डर्स बिन और lib
होना चाहिएइसे सही तरीके से काम करने के लिए मुझे सेटअप करने की क्या ज़रूरत है?
संपादित करें: META-INF फ़ाइल
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: me
Build-Jdk: 1.6.0_26
Main-Class: com.Main
Class-Path: ../lib/ojdbc6-11.2.0.jar ../lib/sqljdbc4-4.2.0.jar ../lib/
mysql-connector-java-5.1.17.jar ../lib/hibernate-core-3.6.5.Final.jar
../lib/antlr-2.7.6.jar ../lib/commons-collections-3.1.jar ../lib/dom
4j-1.6.1.jar ../lib/hibernate-commons-annotations-3.2.0.Final.jar ../
lib/hibernate-jpa-2.0-api-1.0.0.Final.jar ../lib/jta-1.1.jar ../lib/s
lf4j-api-1.6.1.jar ../lib/hibernate-entitymanager-3.6.5.Final.jar ../
lib/cglib-2.2.jar ../lib/asm-3.1.jar ../lib/javassist-3.12.0.GA.jar .
./lib/slf4j-log4j12-1.6.1.jar ../lib/log4j-1.2.16.jar ../lib/commons-
codec-1.5.jar ../lib/lablib-checkboxtree-3.3-20110114.141734-3.jar
समाधान
पता चला है META-INF फ़ाइल सही नहीं है। कारण यह है कि Maven-archiver-प्लगइन डिफ़ॉल्ट व्यवहार के रूप में एक टाइमस्टैम्प के साथ स्नैपशॉट पुस्तकालयों का नाम बदलता है
कि उपयोग इस, के रूप में Maven Archiver डॉक द्वारा निर्देश ओवरराइड करने के लिए:
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addClasspath>true</addClasspath>
<useUniqueVersions>false</useUniqueVersions>
<mainClass>com.Main</mainClass>
<classpathPrefix>../lib/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
उसके अलावा, मुझे आशा है कि लोग शुरुआत में मेवेन कोड उपयोगी पाएं क्योंकि यह काम करता है, बस अपनी परियोजनाओं में स्नैपशॉट्स से सावधान रहें
आपकी मैनिफ़ेस्ट फ़ाइल कैसे दिखती है? क्या आपने वास्तव में निर्भर फ़ोल्डर को lib फ़ोल्डर में रखा है? – Raghuram
सबकुछ वहां है और मैनिफ़ेस्ट अच्छा दिखता है, बस अभी संपादित करने के लिए संलग्न है – javaNoober
यूए रे राइट एक मेटा-आईएनएफ मुद्दा है, मेरा आखिरी lib lablib-checkboxtree-3.3-SNAPSHOT.jar है, कंसोल पर जार चलाने की कोशिश कर रहा है और यह कर सकता है पुस्तकालय नहीं मिला। मैंने lib को हटाने और पुनः लोड करने का प्रयास किया लेकिन यह SNAPSHOT शब्द के बजाय thtat numebr को रखता रहता है, क्यों? – javaNoober