Java na Raspbian Bullseye

Java na Raspbian Bullseye
« kdy: 09. 11. 2022, 17:08:10 »
Zdravím Vás a prosím o pomoc.
Na 32 bit Raspbian Buster jsem javu neřešil, jelikož byla předinstalovaná.
Používal jsem utilitu od UBNT ubnt-discovery-v2.5.1.jar

Strčil jsem do raspi 64 bit Raspbian bullseye, kde java není.
sudo apt install default-jdk

java -version
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Debian-1deb11u1, mixed mode)

Když utilitu pustím přes terminal, vidim jak najede logo UBNT a pak to spadne.

Kód: [Vybrat]
java -jar /home/bigsandy/programy/ubnt-discovery-v2.5.1/ubnt-discovery-v2.5.1.jar
Exception in thread "main" java.lang.ClassFormatError: Illegal field name "this.super" in class com/OoOO/super/A/o0oO
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at com.ubnt.discovery.Main.<clinit>(Unknown Source)

Děkují.


« Poslední změna: 09. 11. 2022, 18:16:01 od Petr Krčmář »


czipis

  • ***
  • 225
    • Zobrazit profil
    • E-mail
Re:Raspberry - Raspbian bullseye - java
« Odpověď #1 kdy: 09. 11. 2022, 17:55:11 »
asi nekompatibilni s novejsi javou. zkuste nainstalovat starsi
Kód: [Vybrat]
sudo apt install openjdk-8-jdk

Re:Java na Raspbian Bullseye
« Odpověď #2 kdy: 09. 11. 2022, 19:56:16 »
Dik
Nelze najít balík openjdk-8-jdk  >:(


Re:Java na Raspbian Bullseye
« Odpověď #3 kdy: 10. 11. 2022, 08:27:29 »
Co na tom starým stroji bylo za verzi javy? Přijde mi, že ta ubnt-discovery věc neměla nikdy fungovat a ve starších verzích šla jenom náhodou.

Re:Java na Raspbian Bullseye
« Odpověď #4 kdy: 10. 11. 2022, 08:48:28 »
Dik
Nelze najít balík openjdk-8-jdk  >:(

ten default-jdk nevím co je za verze, balík má verzi 2:1.11-72 armhf, teda 32bit

ale je tam ještě openjdk-11-jdk a openjdk-17-jdk, ty jsou oba arm64


Re:Java na Raspbian Bullseye
« Odpověď #5 kdy: 10. 11. 2022, 08:56:44 »
Odtud by to mohlo fungovat (v rámci non-commercial licence)
https://www.oracle.com/java/technologies/downloads/#java8

Re:Java na Raspbian Bullseye
« Odpověď #6 kdy: 10. 11. 2022, 09:33:51 »
Ta chyba vypadá dost divně. Skoro jako by obfuskátor* vygeneroval nějaký podivný bytecode**, a použité verzi Javy by se to nelíbilo. Někdy jsou prostě starší verze JVM tolerantnější k některým nedokonalostem bytecode.

Kromě použití starší verze Javy se nabízí použít novější verzi UBNT.

*) Podle názvu třídy to vypadá, že je nějaký obfuskátor použit. oOo
**) Z hlavy fakt nevím, jestli je tečka v názvu fieldu přípustná. Ve zdrojáiu Javy ne, ale to nic neříká o bytecode.

Re:Java na Raspbian Bullseye
« Odpověď #7 kdy: 10. 11. 2022, 12:16:59 »
tohle funguje pouze v openjdk8, nemusíš jí instalovat z balíčku, stáhni a rozbal a použij pouze pro ubnt. Myslím, že už mají novou verzi, která je dělaná jinak.

Re:Java na Raspbian Bullseye
« Odpověď #8 kdy: 12. 11. 2022, 07:39:15 »
Kluci pomužete lamě?  :D
Prý mi ta apka poběží na Raspbian 64 bullseye, když tam nainstalují od AdoptOpenJDK verzi 8.0.252
Nemužu najít info, jak na to.
Dik.

Re:Java na Raspbian Bullseye
« Odpověď #9 kdy: 12. 11. 2022, 07:57:58 »
Kluci pomužete lamě?  :D
Prý mi ta apka poběží na Raspbian 64 bullseye, když tam nainstalují od AdoptOpenJDK verzi 8.0.252
Nemužu najít info, jak na to.
Dik.

Jdeš sem https://adoptium.net/temurin/releases/ a zaškrtneš Linux a aarch64 (máš 64bit). Dále JDK a 8. Vyleze OpenJDK8U-jdk_aarch64_linux_hotspot_8u352b08.tar.gz a to rozbalíš, adresář bin uvnitř přidáš do PATH a jedeš.

Re:Java na Raspbian Bullseye
« Odpověď #10 kdy: 12. 11. 2022, 08:20:47 »
Jsem stahnul a rozbalil.
Mám tedy adresař jdk8u352-b08
Uvnitř je adresař bin
Citace
adresář bin uvnitř přidáš do PATH a jedeš.

Co dal. Lama  ;)


Re:Java na Raspbian Bullseye
« Odpověď #12 kdy: 13. 11. 2022, 10:57:10 »
Jsem stahnul a rozbalil.
Mám tedy adresař jdk8u352-b08
Uvnitř je adresař bin
Citace
adresář bin uvnitř přidáš do PATH a jedeš.

Co dal. Lama  ;)

no možná to do PATH ani dávat nemusíš, můžeš volat prostě ~/jdk8u352-b08/bin/java -jar ~/muj/java/program.jar

jinak normálně dáš na konec .bashrc toto: export PATH=/home/ja/dk8u352-b08/bin:$PATH a je to

pak se to bude volat pouze java ...

Re:Java na Raspbian Bullseye
« Odpověď #13 kdy: 15. 11. 2022, 19:36:27 »
Funguje. Děkují moc  ;)

A co toto na 64 bit raspi?
https://github.com/angryip/ipscan/releases

Re:Java na Raspbian Bullseye
« Odpověď #14 kdy: 15. 11. 2022, 20:13:01 »
Na netu pišou, že bych měl použit balik ipscan_3.8.2_all.deb
Kód: [Vybrat]
sudo dpkg -i /home/pi/programy/ipscan_3.8.2_all.deb
Selecting previously unselected package ipscan.
(Reading database ... 97855 files and directories currently installed.)
Preparing to unpack .../programy/ipscan_3.8.2_all.deb ...
Unpacking ipscan (3.8.2) ...
dpkg: dependency problems prevent configuration of ipscan:
 ipscan depends on libswt-gtk-4-java; however:
  Package libswt-gtk-4-java is not installed.
 ipscan depends on libswt-cairo-gtk-4-jni; however:
  Package libswt-cairo-gtk-4-jni is not installed.

dpkg: error processing package ipscan (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.36.0-1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for mailcap (3.69) ...
Errors were encountered while processing:
 ipscan