Maven

2014-05-15 13 views
7

साथ प्रकट फाइल करने के लिए कक्षा-पथ को जोड़ने के लिए कैसे Maven-जार-प्लगइन
का उपयोग करते समय मैं MANIFEST.MF
को प्रविष्टि जोड़ने के लिए तो यह शामिल होंगे चाहते हैं:
कक्षा-पथ:।
जब मैं पोम के लिए इस प्रविष्टि जोड़ें:
कक्षा-पथ:Maven

<Class-Path>.</Class-Path> 

यह सब निर्भरता
तरह से कक्षा-पथ का निर्माण करेगा:। jar1name.jar jar2name.jar आदि
केवल
कक्षा-पथ के बजाय:।
क्या सभी जार नाम कक्षा-पथ में जोड़ने से मेवेन से बचने का कोई तरीका है?
धन्यवाद

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
        </manifest> 
        <manifestEntries> 
         <Built-By>Me</Built-By> 
      <Class-Path>.</Class-Path> 
        </manifestEntries> 
       </archive> 
      </configuration> 
     </plugin> 
+1

आम तौर पर जार जिन्हें आप रनटाइम पर क्लासपाथ में नहीं चाहते हैं, उन्हें 'प्रदान किया गया' के रूप में चिह्नित किया जाता है, क्या यह आपके मामले को हल करता है? –

+0

मैनिफेस्ट में क्लास-पथ पर कोई जार नहीं चाहता, प्रदान किया गया या नहीं, मैं बस आउटपुट करना चाहता हूं। " – user648026

उत्तर

17

यह चाल
addClasspath छोड़ना और manifestEntries
जोड़ने अब, log4j.properties जार के बाहर निवास कर सकते हैं किया था - और अभी भी पाया जा ...

   <manifest> 
        <addClasspath>true</addClasspath> 
       </manifest> 

यह काम कर रहा है:

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <configuration> 
       <archive> 
        <manifestEntries> 
         <Built-By>Me</Built-By> 
      <Class-Path>.</Class-Path> 
        </manifestEntries> 
       </archive> 
      </configuration> 
     </plugin> 

आउटपुट:

Manifest-Version: 1.0 
Archiver-Version: Plexus Archiver 
Created-By: Apache Maven 
Build-Jdk: 1.6.0_45 
Built-By: Me 
Class-Path: .