Hallo Erik,

On 2021-06-23 13:25, Erik Schanze wrote:
Am 23.06.21 um 10:06 schrieb Christoph Müller:
On 2021-06-23 07:36, Erik Schanze wrote:

$ java -cp /usr/share/jaxb/lib -jar
~/Downloads/tp-link-td-w8970/StatPOSTer-20160306.jar

hab mal versucht, das nachzustellen.

mit debian 10.10, openjdk 11.0.11

und jaxb (installiert per aptitude - libjaxb-api-java und libjaxb-java).

Kommt der Fehler beim Starten des Programmes (das funktioniert bei mir)?


Im der GUI auf "Decrypt" klicken, irgend ein Text-Datei auswählen und

Ja, damit kann ich es nachstellen ... schaun wir mal ...

Die manpage zu java sagt nicht viel, aber

java --help

sagt 'ne Menge. Auch was zu -cp & Co.

Erster Versuch: java -cp /usr/share/java/jaxb-api.jar -jar StatPOSTer-20160306.jar

führt zu java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter

Zweiter Versuch: java -classpath /usr/share/java/jaxb-api.jar -jar StatPOSTer-20160306.jar

Selbes Ergebnis.

Verständlich. Die sollten ja synonym sein.

Mal ins jar schauen ...

pisi@debianTesting:~/jaxb-java11-issue$ unzip -l /usr/share/java/jaxb-api.jar | grep DatatypeConverter
     7176  2018-11-01 22:46 javax/xml/bind/DatatypeConverter.class
[..]
Ja, da ist die Klasse drin.

Theorie ... wenn wir -jar nutzen, dann ignoriert er -cp. Kann das wer bestätigen?

Jedenfalls komme ich mit folgender Variante weiter:

java -cp /usr/share/java/javax.activation.jar:/usr/share/java/jaxb-api.jar:/usr/share/java/jaxb-impl.jar:/usr/share/java/jaxb-core.jar:StatPOSTer-20160306.jar StatPOSTer

Einfach alle jaxb jars und das app-jar als classpath angeben und dann den Namen der Main-Klasse (StatPOSTer, gefunden im Manifest des app jars) drangehängt.

(Das aktuelle Verzeichnis muss dort sein, wo das app jar liegt. Oder das app jar muss auch mit absolutem Pfad referenziert werden)

Jetzt bekomme ich:

2021.06.23 20:26:45 config decrypt: java.io.IOException: javax.crypto.IllegalBlockSizeException: Input length not multiple of 8 bytes

Aber das liegt sicher an meinem dummy Inputfile.


Grüße,

Christoph




Antwort per Email an