META-INF / maven-Ordner aus der generierten JAR-Datei ausschließen
Ich versuche, eine JAR-Datei zu erstellen, in der alle erforderlichen Klassen im JAR extrahiert sind. Aber für ein paar abhängige Gläser wie log4j, erstellt einige Ordner inMETA-INF/maven/*
. Ich habe eine Einschränkung, dass der Server, auf dem ich die generierte JAR-Datei platziere, keine Internetverbindung hat. Also, wenn es irgendeinen Inhalt in diesem @ giMETA-INF/maven/*
Ordner dann gibt es mir einen Fehler.
ein Maven-Deskriptor sieht wie folgt au
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
<configuration>
<minimizeJar>true</minimizeJar>
<finalName>myclient</finalName>
</configuration>
</plugin>
</plugins>
</build>
Ich kann die erforderlichen Klassendateien im generierten Jar extrahieren, aber der Maven-Ordner wird weiterhin unter @ generierMETA-INF
. Ich muss den Ordner manuell löschen, damit alles funktioniert. Bitte geben Sie Hinweise, wie Sie das Entfernen des Maven-Ordners aus der generierten JAR-Datei automatisieren können.