Toon posts:

OpenJDK 8 met Webstart in Ubuntu 20.04 mogelijk?

Pagina: 1
Acties:

Vraag


  • Josefien
  • Registratie: Juni 2006
  • Laatst online: 17:14
Mijn vraag
...
Ik zit te testen met Ubuntu 20.04 met het oog op dat ik misschien ooit van 16.04 moet upgraden. Maar ik loop nu al in de problemen met Java.

Er zijn 2 Java-programma's die ik regelmatig gebruik (en voor zover ik weet geen goede vervanger met GUI hebben):
- Geotag (http://geotag.sourceforge.net)
- BT747 (https://www.bt747.org/webinstall)

Geotag wordt zowel in .jnlp (Webstart) als in .jar aangeboden. BT747 heeft alleen een .jnlp.

Ubuntu heeft openjdk-8-jre en openjdk-11-jre in de repositories. En icedtea-netx voor de Webstart om die .jnlp bestanden te kunnen gebruiken.

Nu het probleem: Geotag in .jar variant werkt alleen met openjdk-8-jre. Maar die is niet installeerbaar samen met icedtea-netx. Die laatste wil per se samen met openjdk-11-jre geïnstalleerd worden en dan stopt Geotag ermee :/

Maar icedtea-netx heb ik wel nodig, omdat ik BT747 anders niet kan starten/gebruiken :/

Geotag .jar weigert te werken met openjdk-11-jre als in dat hij dan bij de eerste start eeuwig blijft hangen bij het start-logo. Pas bij nog een keer starten werkt hij, maar die 1e instantie blijft op de achtergrond hangen met logo, ook als die 2e instantie is afgesloten, hij moet uiteindelijk gekilled worden met een task manager. En de .jnlp is nog gekker: start wel, maar alle functies doen het niet... zelfs afsluiten niet en moet gekilled worden om van af te komen.


De situatie die ik moet hebben is dus openjdk-8-jre i.c.m. die Webstart-functionaliteit (icedtea-netx). Zeg maar de situatie zoals in Ubuntu 16.04 waar het perfect werkt.

Alleen, hoe voorkom ik dat icedtea-netx per se die versie 11 van OpenJDK meeneemt bij het installeren?


Relevante software en hardware die ik gebruik
...
Ubuntu MATE 20.04


Wat ik al gevonden of geprobeerd heb
...
Eerst openjdk-8-jre installeren en dan icedtea-netx samen met openjdk-11-jre. Ze lijken dan selecteerbaar bij het openen van een .jar, maar het werkt niet, uiteindelijk wordt toch 11 gebruik.

Ik heb ook Oracle Java 14 geprobeerd, maar ook geen werkt Geotag niet en die mist ook de Webstart-functionaliteit.

Alle reacties


  • Josefien
  • Registratie: Juni 2006
  • Laatst online: 17:14
Maar het probleem is nu niet zozeer dat Icedtea Java 11 oproept, maar dat Java 8 blijkbaar überhaupt niet meer gebruikt kan worden.

De .jar van Geotag gebruik namelijk geen Icedtea, maar wordt als je 'm dubbelklik gewoon direct met Java geopend. Echter, met rechtermuisknop kan je kiezen tussen 8 en 11... maar die 8 heeft hetzelfde probleem zodra 11 geïnstalleerd is... terwijl met alleen 8 geïnstalleerd er geen enkel probleem is.

  • Josefien
  • Registratie: Juni 2006
  • Laatst online: 17:14
Nee, er is een programma wat alleen als .jnlp (Webstart) beschikbaar is en die werkt wel met Java 11. Mat 8 niet geprobeerd, maar hij deed het onder de 8 van Ubuntu 16.04 wel.

Een ander programma wat een .jar is (maar ook beschikbaar als .jnlp als het moet) werkt alleen met Java 8.

Ik ben nu niet in de buurt van dat testsysteem, als ik er ben ga ik eens kijken of die Java 8 er überhaupt nog wel is nadat 11 is geïnstalleerd en niet stiekem is overschreven...

  • Josefien
  • Registratie: Juni 2006
  • Laatst online: 17:14
Hero of Time schreef op donderdag 18 juni 2020 @ 20:19:
@Josefien, je had het er toch over dat iets via java webstart niet werkt omdat het klaagt over java 11 en juist java 8 nodig heeft?

Als de versie niets uitmaakt voor webstart/icedtea, dan is de oplossing wat @NESFreak zegt, of je gebruikt het volledige pad van de java 8 executable: /usr/lib/jvm/openjdk-8-amd64/bin/java.
Die Geotag .jar lijkt het vooralsnog weer te doen door die Java 8 handmatig op te roepen met "/usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar geotag-0.103.jar".

Maar nu is Java Webstart voor BT747 kapot blijkbaar, door eerder proberen met Oracle Java. Die had ik geïnstalleerd met een PPA: https://www.linuxuprising...cle-java-14-jdk14-on.html

Werkte niet voor Geotag dus ook weer verwijderd met apt remove. Echter, nu is Java Webstart kapot omdat 'ie nog steeds ergens verwijst naar die van Oracle:

code:
1
2
3
4
josefien@ws20:~/Downloads$ javaws BT747_J2SE.jnlp
selected jre: /usr/lib/jvm/java-14-oracle
thread 'main' panicked at 'Error spawning JVM process, java executable: [/usr/lib/jvm/java-14-oracle], arguments: [["-splash:/usr/share/icedtea-web/javaws_splash.png", "-Xbootclasspath/a:/usr/share/icedtea-web/javaws.jar:/usr/share/java/js.jar:/usr/share/java/tagsoup.jar:/usr/lib/jvm/java-14-oracle/lib/ext/nashorn.jar:", "-classpath", "/usr/lib/jvm/java-14-oracle/lib/rt.jar:/usr/lib/jvm/java-14-oracle/lib/ext/jfxrt.jar:", "-Dicedtea-web.bin.name=javaws", "-Dicedtea-web.bin.location=/usr/lib/icedtea-web/bin/javaws", "net.sourceforge.jnlp.runtime.Boot", "BT747_J2SE.jnlp"]]', src/os_access.rs:36:19
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Ik heb met "apt remove --purge icedtea-netx" hem verwijderd en weer opnieuw geïnstalleerd, maar Icedtea blijft naar Oracle verwijzen. Terwijl is hele /usr/lib/jvm/java-14-oracle al niet meer bestaat.


De eerder genoemde "update-alternatives --config java" doet wel de 8 zo instellen dat .jar dubbelklikken in de GUI ook wordt geopend met 8. Maar het verhelpt die kapotte Icedtea niet :/

[Voor 4% gewijzigd door Josefien op 18-06-2020 23:43]


  • Josefien
  • Registratie: Juni 2006
  • Laatst online: 17:14
Java Webstart is volgens mij kapot omdat "echo $JAVA_HOME" nog steeds verwijst naar die /usr/lib/jvm/java-14-oracle.

Alleen, ik weet niet hoe ik dat gewijzigd krijg. Er is geen enkel pakket van Oracle Java meer geïnstalleerd.

  • Josefien
  • Registratie: Juni 2006
  • Laatst online: 17:14
Met "update-alternatives --config java" kan ik de standaard Java-versie selecteren en dat heeft invloed op hoe .jar bestanden worden geopend in de GUI.

Dit heeft echter geen betrekking op Icedtea (.jnlp), die pakt altijd default-java en die blijft java 11, wat er ook met "update-alternatives --config java" is geselecteerd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root@ws20:/usr/lib/jvm# update-alternatives --config java
Er zijn 2 beschikbare keuzemogelijkheden voor het alternatief java (dat voorziet in /usr/bin/java).

  Keuze        Pad                                             Prioriteit Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      automatische modus
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      handmatige modus
* 2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      handmatige modus

Druk <enter> om de huidige keuze[*] te behouden, of typ een keuzenummer in: 2
update-alternatives: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java wordt gebruikt om in de handmatige modus in /usr/bin/java (java) te voorzien.
root@ws20:/usr/lib/jvm# ls -l
totaal 8
lrwxrwxrwx 1 root root   25 jul 17  2019 default-java -> java-1.11.0-openjdk-amd64
lrwxrwxrwx 1 root root   21 apr 16 14:54 java-1.11.0-openjdk-amd64 -> java-11-openjdk-amd64
drwxr-xr-x 7 root root 4096 jun 17 14:00 java-11-openjdk-amd64
lrwxrwxrwx 1 root root   20 apr 16 10:47 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
drwxr-xr-x 5 root root 4096 jun 18 23:12 java-8-openjdk-amd64
root@ws20:/usr/lib/jvm#

De link default-java gaat nog steeds naar 11 :/ Is dat ook nog in te stellen naar 8 of moet de link handmatig aangepast worden?


En dit is ook raar: als ik in de GUI met rechts klik op een .jar kan ik kiezen uit Java 8 of 11. Maar in werkelijkheid is het geen keuze en pakt hij alleen hetgeen wat is ingesteld met "update-alternatives --config java". Dus als 8 is ingesteld resulteren beide keuzes in 8 en als 11 is ingesteld resulteren ze beide in 11. Waarom wordt er een keuze geboden als dat er eigenlijk niet is?
imp- schreef op vrijdag 19 juni 2020 @ 02:57:
Uit interesse eens naar de oracle java 14 installer package uit die ppa gekeken, daar word ik niet echt gelukkig van :(

Ter zake:

[...]


Waarschijnlijk heb je nog de oracle-java14-set-default package uit die ppa geïnstalleerd, deze installeert namelijk files in /etc/profile.d waardoor o.a. de JAVA_HOME variable in je shell nog deze waarde heeft.
Als dat het geval is, snel opgelost door de package te verwijderen dus.
Oh, dit doet 't hem :D Na verwijderen van dit pakket is $JAVA_HOME leeg en pakt Icedtea de /usr/lib/jvm/default-java en dat is Java 11.

Hoe kan ik zien op er nog andere Oracle Java spullen zijn achtergebleven? apt search laat niks meer zien, maar ik heb de PPA ook al lang verwijderd.
Pagina: 1



Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 Nintendo Switch Lite

Tweakers is samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer onderdeel van DPG Media B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee