2022-06-29, 16:41
  #25
Medlem
DesertBeagles avatar
Citat:
Ursprungligen postat av cern
Är det sant Java inte fungerar på Mac?

Det är helt otroligt!
Jag vill inte vara negativ, men om nu java är kritiskt för dig, är inte detta något du borde googlat lite snabbt INNAN du köpte dig en ny M1 mac? Jag har aldrig märkt av att java skulle bråka för mig i alla fall.
Citera
2022-06-29, 19:32
  #26
Medlem
Enterprises avatar
OK, efter lite strul har jag i alla fall fått JDK 17.0.3 att fungera så att jag kan kompilera och köra Java-filer native på Mac M1.

Jag följde den här instruktionen:
https://wiredverse.com/posts/2021/05/java-m1-mac/

Alltså
1:
Kod:
curl -s "https://get.sdkman.io" | bash

2:Ändra innehållet i filen ~/.sdkman/etc/config till:
Kod:
sdkman_auto_answer=false
sdkman_auto_selfupdate=false
sdkman_insecure_ssl=false
sdkman_curl_connect_timeout=7
sdkman_curl_max_time=10
sdkman_beta_channel=false
sdkman_debug_mode=false
sdkman_colour_enable=true
sdkman_auto_env=false
sdkman_rosetta2_compatible=false

3. Starta om terminalen

4.
Kod:
sdk install java 

5. Klart
Kod:
~ % java -version
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode)

~ % javac -version
javac 17.0.3
Citera
2022-06-29, 20:28
  #27
Medlem
cerns avatar
Citat:
Ursprungligen postat av Enterprise
Jag har nu kollat på min M1. Hade inte Java installerat på denna burk.
Det ska gå att installera Java genom: https://www.java.com/sv/download/hel...nstall_sv.html
Då körs applikationen genom Rosetta 2 som översätter Intelprogram till M1-chippet.

Jag provade istället att installera en variant genom: https://www.azul.com/downloads/?pack...wnload-openjdk

Denna körs native på M1-chippet. Jag har inte provat att köra några applikationer ännu men java -version renderar:
Kod:
~ % java -version
openjdk version "18.0.1" 2022-04-19
OpenJDK Runtime Environment Zulu18.30+11-CA (build 18.0.1+10)
OpenJDK 64-Bit Server VM Zulu18.30+11-CA (build 18.0.1+10, mixed mode, sharing)
Tycker du jag ska gå över till att köra apparna genom Rosetta 2 istället och installera Oracles "vanliga" Java bara?

Kör den där Zulu-versionen som du har just nu. Verkligen ingen Java-app fungerar!
Testa gärna någon Java-app sen och kolla hur det ser ut.

Hur öppnar man ett program så den körs via Rosetta?

EDIT: Såg din post nyss, vi verkar ha skrivit på samma gång!
Citera
2022-06-29, 21:04
  #28
Medlem
cerns avatar
Citat:
Ursprungligen postat av Enterprise
OK, efter lite strul har jag i alla fall fått JDK 17.0.3 att fungera så att jag kan kompilera och köra Java-filer native på Mac M1.

Jag följde den här instruktionen:
https://wiredverse.com/posts/2021/05/java-m1-mac/

Alltså
1:
Kod:
curl -s "https://get.sdkman.io" | bash

2:Ändra innehållet i filen ~/.sdkman/etc/config till:
Kod:
sdkman_auto_answer=false
sdkman_auto_selfupdate=false
sdkman_insecure_ssl=false
sdkman_curl_connect_timeout=7
sdkman_curl_max_time=10
sdkman_beta_channel=false
sdkman_debug_mode=false
sdkman_colour_enable=true
sdkman_auto_env=false
sdkman_rosetta2_compatible=false

3. Starta om terminalen

4.
Kod:
sdk install java 

5. Klart
Kod:
~ % java -version
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode)

~ % javac -version
javac 17.0.3
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode)

Okej nu kör vi exakt samma setup då!

Gjorde hela den där SDKMan-processen innan också.

Du vet när man tankar program från internet så får man en varningslogga att programmet är nedladdat så kan man inte öppna filen?

Man måste då lägga in filen manuellt i Appar och högerklicka för att välja öppna för att den ska gå igenom. Är det inte så med Java också? Att programmet försöker öppnas men hindras utav hela Apple OS?

Apple vill ju inte att man ska öppna filer som man laddar ner.
Citera
2022-06-29, 21:38
  #29
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av cern
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode)

Okej nu kör vi exakt samma setup då!

Gjorde hela den där SDKMan-processen innan också.

Du vet när man tankar program från internet så får man en varningslogga att programmet är nedladdat så kan man inte öppna filen?

Man måste då lägga in filen manuellt i Appar och högerklicka för att välja öppna för att den ska gå igenom. Är det inte så med Java också? Att programmet försöker öppnas men hindras utav hela Apple OS?

Apple vill ju inte att man ska öppna filer som man laddar ner.
Det var inte så på min burk, så antingen nej, eller så har jag avaktiverat säkerhetsfunktionen du nämner (i så fall: shame on me)

Om du menar Java-filer som man hämtar från nätet så vet jag inte. Om det rör sig om källkod kan jag inte tänka mig att säkerhetsfunktionen reagerar.
Citera
2022-06-29, 21:50
  #30
Medlem
cerns avatar
Citat:
Ursprungligen postat av Enterprise
Det var inte så på min burk, så antingen nej, eller så har jag avaktiverat säkerhetsfunktionen du nämner (i så fall: shame on me)

Om du menar Java-filer som man hämtar från nätet så vet jag inte. Om det rör sig om källkod kan jag inte tänka mig att säkerhetsfunktionen reagerar.
Gick in i /Library/Java/

Och mappen är ju helt tom! Wtf

Finns ingenting som heter JavaVirtualMachines osv, inga bin filer.

Inte konstigt att den inte kan öppna. Hur kommer det sig att det blivit så här?
Hur kan man lokalisera Java-filerna om de ens finns i min dator?

Så skumt
Citera
2022-06-29, 22:50
  #31
Medlem
a-mortals avatar
Java är absolut inte intuitivt på Mac.

Olika versioner av java kan ha helt olika filsystem struktur och utspritt i olika mappar.
PreferencePane kan det bara finnas en av som skapar kaos om man har flera javaversioner.

När man dubbelklickar på en jar- eller class-fil så körs en gammal Applet Launcher app som bara klarar av att öppna program skapta för gamla java versioner. Den ligger för mig i /usr/share/java
Har man en app som startar java så kan den innehålla en Java app stub som inte heller kan öppna nya versioner av java. Har ingen M1 så jag vet inte hur de har vidareutvecklat JRE kompatibla tjänsterna.

Själv brukar jag köra alla java program från terminal så för mig är det inget problem.

För mig ser det ut som du inte försöker förstå hur det fungerar och tror att en ren installation skulle fixa problemet. Hela biten med att ominstallera har nog varit onödig eftersom det inte är java det är fel på utan antingen Apples Java Applet Launcher eller konfigureringen av java eller apparna.

Som java-utvecklare har jag kommit på att man kan kringgå problematiken genom att skapa en gammal java öppnare som startar nya version av java och det program som är menat. Då kan jag använda Applet Launchern som öppnar den gamla versionen av java och sedan den nya via java öppnaren. En sådan lösning kan inte köras om man raderar java-verisionen som hör till Applet Launchern.

Om du håller på och raderar java versioner som kom med OS installationen riskerar du att ha sönder systemtjänster och kompatibilitet med program. Var försiktig genom att skapa backup av det du tänker radera nästa gång.

Återigen, jag har inte M1 så jag vet inte vad som fortfarande är relevant. Jag kan inte säga mycket mer än det ovan och lycka till, så lycka till!
Citera
2022-06-30, 02:00
  #32
Medlem
cerns avatar
Citat:
Ursprungligen postat av a-mortal
Java är absolut inte intuitivt på Mac.

Olika versioner av java kan ha helt olika filsystem struktur och utspritt i olika mappar.
PreferencePane kan det bara finnas en av som skapar kaos om man har flera javaversioner.

När man dubbelklickar på en jar- eller class-fil så körs en gammal Applet Launcher app som bara klarar av att öppna program skapta för gamla java versioner. Den ligger för mig i /usr/share/java
Har man en app som startar java så kan den innehålla en Java app stub som inte heller kan öppna nya versioner av java. Har ingen M1 så jag vet inte hur de har vidareutvecklat JRE kompatibla tjänsterna.

Själv brukar jag köra alla java program från terminal så för mig är det inget problem.

För mig ser det ut som du inte försöker förstå hur det fungerar och tror att en ren installation skulle fixa problemet. Hela biten med att ominstallera har nog varit onödig eftersom det inte är java det är fel på utan antingen Apples Java Applet Launcher eller konfigureringen av java eller apparna.

Som java-utvecklare har jag kommit på att man kan kringgå problematiken genom att skapa en gammal java öppnare som startar nya version av java och det program som är menat. Då kan jag använda Applet Launchern som öppnar den gamla versionen av java och sedan den nya via java öppnaren. En sådan lösning kan inte köras om man raderar java-verisionen som hör till Applet Launchern.

Om du håller på och raderar java versioner som kom med OS installationen riskerar du att ha sönder systemtjänster och kompatibilitet med program. Var försiktig genom att skapa backup av det du tänker radera nästa gång.

Återigen, jag har inte M1 så jag vet inte vad som fortfarande är relevant. Jag kan inte säga mycket mer än det ovan och lycka till, så lycka till!
Ja alltså jag tog ju bort Java Launcher eftersom det är en gammal java-app.

Jag tog bort den för att installera en nyare version såklart och att datorn inte skulle vara proppad med massa olika versioner av Java.

Nu menar du att jag har tagit bort en viktig funktion för hela datorn och inte kan använda Java öht? Allt är liksom förstört för all framtid?

Så om jag råkar radera typ Safari då är datorn officiellt sönder och jag får aldrig mera tillgång till internet?

Alltså Apple är så jävla sämst så det börjar bli riktigt skrattretande. Inte ett piss fungerar. Är så jävla besviken på att jag skaffade en Mac nu med facit i hand.
Citera
2022-06-30, 02:36
  #33
Medlem
cerns avatar
Fråga 1:

Varför kan jag inte köra Java-appar med senaste Java-versionen i Mac? Varför är dessa automatiskt kopplade till en gammal Java-app som datorn kom med? Hur kommer det sig att Apples OS kommer fulla med omoderna appar som man är tvungen att använda? Helt ologiskt 2022

Fråga 2:

Hur kommer jag ens in i Appar med hjälp av Terminal:

AT2 Movies Users
DOS Games Music dos
DOSGAMES PLUTONIA edlib
Desktop Pictures final
Documents Public furnace
Downloads
FoxDot
Library

"Appar" eller Applications finns ju inte ens med i Terminal?

Ska testa om jag kan öppna via Terminal men är helt tveksam att det går. Har insett nu att Apple verkligen är rent skräp.

Appar hamnar i konflikt med varandra, man måste navigera och installera ytterligare appar som hamnar i konflikt sen tar man bort appar och vips så är hela datorn paj istället.
Citera
2022-06-30, 08:28
  #34
Medlem
a-mortals avatar
Citat:
Ursprungligen postat av cern
Fråga 1:

Varför kan jag inte köra Java-appar med senaste Java-versionen i Mac? Varför är dessa automatiskt kopplade till en gammal Java-app som datorn kom med? Hur kommer det sig att Apples OS kommer fulla med omoderna appar som man är tvungen att använda? Helt ologiskt 2022

Fråga 2:

Hur kommer jag ens in i Appar med hjälp av Terminal:

AT2 Movies Users
DOS Games Music dos
DOSGAMES PLUTONIA edlib
Desktop Pictures final
Documents Public furnace
Downloads
FoxDot
Library

"Appar" eller Applications finns ju inte ens med i Terminal?

Ska testa om jag kan öppna via Terminal men är helt tveksam att det går. Har insett nu att Apple verkligen är rent skräp.

Appar hamnar i konflikt med varandra, man måste navigera och installera ytterligare appar som hamnar i konflikt sen tar man bort appar och vips så är hela datorn paj istället.
Det finns 4 typer av java applikationer vad jag vet:
  1. jar-executable, dessa körs antingen genom en Applet Laucher eller genom terminal: java -jar ~/Desktop/file.jar
  2. class-executable, antingen via Applet Launcher eller terminal: java ~/Desktop/file.class
  3. jar-lib, dessa körs via terminal: java -cp ~/Desktop/fil.jar MainClass
  4. MacOS-app, när man startar dem så körs en java app-startare så kallad stubbe. Dessa finns för att kunna starta olika typer av java-applikationer, utföra kontroll av kompatibilitet och ta hand om Mac-tjänster, exv. ikoner, loggar, mm. Det går att plocka ut java filerna ur appen och köra separat, men var filerna ligger i appen och om det fungerar varierar.
Apple beslöt sig för att sluta uppdatera Applet Launchern och java stubbarna runt java 1.7 typ. Utvecklare hänvisas att göra sina egna stubbar, men java-utvecklare förstår varken Objective-C eller Swift så de kan orkar inte göra sina egna stubbar.

Eftersom java har utvecklats till att bli ett gigantiskt monster av olika alternativa sätt att skapa applikationer, så har båda Apple och Microsoft lagt java åt sidan. Java har blivit för stort för att underhålla implementeringarna när nya operativsystem utvecklas, tycker jag. Konsumenterna förväntar sig dock java-support så företagen har tillsatt några få personer att fixa det så gott det går.

Antingen ligger bördan att uppdatera implementeringar på operativsystemutvecklarna eller på apputvecklarna. Nu är bördan skiftad till apputvecklarna, om det inte redan var det från början. Java kommer nog finnas kvar trotts att kvaliteten brister på MacOS och Windows.
Citera
2022-06-30, 09:07
  #35
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av a-mortal
Java är absolut inte intuitivt på Mac.
...
Om du håller på och raderar java versioner som kom med OS installationen riskerar du att ha sönder systemtjänster och kompatibilitet med program. Var försiktig genom att skapa backup av det du tänker radera nästa gång.

Återigen, jag har inte M1 så jag vet inte vad som fortfarande är relevant. Jag kan inte säga mycket mer än det ovan och lycka till, så lycka till!
Instruktionen om att radera filer kommer från Oracles egen Java-support, så om det innebär några problem (annat än att man inte kan köra Java så länge det är avinstallerat) så är detta oerhört svagt.

https://www.java.com/sv/download/hel...tall_java.html


https://docs.oracle.com/javase/8/doc....html#A1096903
Citera
2022-06-30, 10:13
  #36
Medlem
a-mortals avatar
Citat:
Ursprungligen postat av Enterprise
Instruktionen om att radera filer kommer från Oracles egen Java-support, så om det innebär några problem (annat än att man inte kan köra Java så länge det är avinstallerat) så är detta oerhört svagt.

https://www.java.com/sv/download/hel...tall_java.html


https://docs.oracle.com/javase/8/doc....html#A1096903
De har alltså inte uppdaterat instruktionerna hur man avinstallerar java sedan java 1.8
https://www.java.com/en/download/hel...tall_java.html
Bra info för dem som fortfarande kör OSX 10.7 eller 10.8.

Totalt utdaterad artikel eftersom NPAPI är utdaterat.
https://support.apple.com/en-us/HT202643

De senaste 10 åren av utveckling har inte lett till bättre java-support uppenbarligen.
De flesta java-programmerare har emigrerat, snart du också.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in