Maven Shade Plugin Das ist praktisch. Sie können das Programm mit einer einzelnen JAR-Datei starten, ohne einen langen Klassenpfad zu schreiben.
Es geschah, als ich versuchte, den JDBC-Treiber von Microsoft SQL Server in eine solche JAR-Datei zu schreiben.
Als ich es ausführte, schlug es mit diesem Fehler fehl.
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
Personen mit demselben Problem → https://social.msdn.microsoft.com/Forums/sqlserver/en-US/f5c69fee-8c68-4601-bfcb-376e21dfa809/sql-server-jdbc-javalangsecurityexception-invalid-signature-file- Digest? Forum = sqldataaccess
Liegt es daran, dass sich die Signatur in sqljdbc4.jar befindet? ↑ Ich verstehe überhaupt nicht.
Fügen Sie die in sqljdbc4.jar enthaltene Signaturdatei (?) Nicht in das endgültige Glas ein.
pom.xml
(snip)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
(snip)
<configuration>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
(snip)
Sie müssen verstehen, wie Java JAR-Dateien verarbeitet und ausführt. .. ..
Recommended Posts