Weiß jemand wie man diesen Java-Fehler löst?

SirPeterGriffin  17.04.2024, 08:13

Wie sieht denn die main aus?

guteFrager1232 
Fragesteller
 17.04.2024, 08:15

Was genau meinst du damit? Ich habe keine Ahnung vom Programmieren...

Und auf den Rechnern meiner Kollegen funktioniert das Programm, die habe die Klasse etc. so benannt wie ich...

1 Antwort

Mindestens eine deiner Projektabhängigkeiten ist signiert. Sobald du das Projekt zu einer JAR baust, passt die Signatur allerdings nicht mehr, da die anderen Projektbestandteile nicht signiert sind.

Schau einfach deine eingebundenen, externen JARs durch. Mit dem jarsigner aus dem JDK kannst du prüfen, ob eine JAR signiert (bzw. verifiziert) ist oder nicht:

jarsigner -verify someJarFile.jar

Signierte JARs haben in ihrem META-INF-Ordner entsprechend dsa-, rsa- oder sf-Dateien, die beim Build exkludiert werden müssen. Entpacke die JAR und prüfe selbst, welchen Signaturtyp du ausschließen musst.

Sowohl Maven (lies dazu hier):

<excludes>META-INF/*.DSA,META-INF/*.RSA,META-INF/*.SF,...</excludes>

als auch Gradle:

jar {
  from { (configurations.runtime).collect { it.isDirectory() ? it : zipTree(it) } } {
    exclude 'META-INF/*.DSA', 'META-INF/*.RSA', 'META-INF/*.SF', ...
  }
  /* ... */
}

bieten Optionen dazu an.

guteFrager1232 
Fragesteller
 17.04.2024, 09:52

Vielen Dank, kannst du mir vielleicht genauer erklären was genau und wie ich es machen soll? Habe keine Ahnung von Programmieren...

0
regex9  17.04.2024, 10:04
@guteFrager1232

Das habe ich bereits.

Habe keine Ahnung von Programmieren...

Das ist ein grundsätzliches Problem, welches du wohl noch lösen solltest. Java-Lernquellen habe ich in diesem Beitrag schon einmal vorgeschlagen. Zu externen Anwendungen oder Bibliotheken (SWT, Maven, Gradle, Eclipse, IntelliJ, usw.) findest du am meisten in deren jeweiligen Online-Dokumentationen.

2