Wie schließe ich zusätzliche META-INF-Dateien für das Exec-War-Ziel aus?

9

Meine Frage ist genau das Problem, dem dieser Benutzer von maven-shade plugin gegenübersteht:

Wie können META-INF-Dateien vom Bundle ausgeschlossen werden? >

Aber ich benutze tomcat7-maven-plugin, um eine selbstlaufende Webapp zu erstellen. Ich habe kürzlich Datenbanktreiber gewechselt, um Microsofts eigenen Treiber zu verwenden, der JDBC4 implementiert. Jetzt habe ich Probleme, es als extraDependency in mein exec-war Ziel aufzunehmen. Hier ist der relevante Teil von pom.xml .

%Vor%

Das Projekt wird ordnungsgemäß erstellt, mit der Ausnahme, dass maven die Anweisung exclude nicht befolgt, sodass die sqljdbc4-RSA-Datei im Verzeichnis META-INF enthalten ist. Das heißt, wenn ich versuche, meine exec-war-JAR-Datei auszuführen, bekomme ich diesen Fehler.

%Vor%

Ich habe den Code gelesen und soweit ich weiß, ist das Plugin korrekt konfiguriert, um die sqljdbc4 META-INF-Dateien auszuschließen. Hier ist der Plugin-Code für Version 2.2, den ich verwende. Es sieht so aus, als müsste das tun, was ich will. Das exec-war-Jar enthält jedoch weiterhin META-INF/MSFTSIG.RSA

org.apache.tomcat.maven.plugin.tomcat7.run.AbstractExecWarMojo.java

%Vor%

EDITS

  1. Aufgrund des Bugs der Version 2.2, der in dieser Antwort erwähnt wurde, wurde die Plug-in-Version 2.1 wieder aktiviert. Ссылка
  2. Eine Umgehungslösung besteht darin, eine unsignierte Version des Abhängigkeits-JARs zu erstellen.
carbontax 16.04.2015, 21:15
quelle

1 Antwort

1

Der Code, den Sie für AbstractExecWarMojo gepostet haben, hat einen Fehler: Die continue in der inneren for-Schleife hat keinerlei Auswirkungen. Stattdessen sollte es in der äußeren while-Schleife fortgesetzt werden, um Archiveinträge zu überspringen, wenn ein exclude wie folgt übereinstimmt:

%Vor%

Um dieses Problem in Ihrem Projekt zu beheben, können Sie das tomcat7-maven-plugin aus der Quelle auschecken / modifizieren / bauen. Wenn Sie das tun und es erfolgreich testen, wäre es großartig, wenn Sie einen Patch beisteuern würden. Ich habe bereits ein Problem dafür eingereicht.

    
heenenee 21.08.2015 16:55
quelle

Tags und Links