2014-05-15 8 views
7

Bei Verwendung der maven-jar-plugin
Ich mag hinzufügen, Eintritt in den Manifest.mf
So hinzufügen wird es enthalten:
Class-Path:.
Wenn ich hinzufügen, um diesen Eintrag zu dem Pom:
Class-Path:Wie Klasse-Pfad zur Manifest-Datei mit Maven

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

Es wird mit allen Abhängigkeiten
wie Class-Path erstellen. jar1name.jar jar2name.jar usw.
Statt
Klassenpfad:.
Gibt es eine Möglichkeit zu vermeiden, dass alle Jar-Namen zum Class-Path hinzugefügt werden?
Dank

<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

in der Regel Gläser, die Sie nicht in Classpath zur Laufzeit wollen sind als 'vorgesehen 'markiert, löst es Ihren Fall? –

+0

Ich möchte kein Glas auf dem Klassenpfad im Manifest, vorausgesetzt oder nicht, ich möchte nur "." – user648026

Antwort

17

Dieser der Trick
Weglassen der addClasspath und das Hinzufügen von manifestEntries
Jetzt können log4j.properties außerhalb des jar residieren - und noch ...

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

Diese finden funktioniert:

<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> 

Ausgabe:

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