Handmatige installatie GeoServer op OS X

Samenvatting

Graag wil ik gebruik maken van GeoServer. Hiervoor heb ik de platform independent binary gedownload van GeoServer 2.18.2 en deze installatie-instructie gevolgd. Daarin loop ik tegen het volgende probleem aan. Na stap 8 (CLI: sh startup.sh), krijg ik de volgende melding:

The JAVA_HOME environment variable is set but JAVA_HOME/bin/java
is missing or not executable:
    JAVA_HOME=/usr/libexec/java_home
Please either set JAVA_HOME so that the Java runtime is JAVA_HOME/bin/java
or unset JAVA_HOME to use the Java runtime on the PATH.

Probleem

Ik heb de volgende stappen ondernomen:

  1. Voorafgaand aan de installatie Java geüpdatet naar Java 1.8.0_281.

  2. Maar, controleer ik via de CLI de versie (java -version) dan krijg ik de volgende melding:

Unable to locate an executable at "/usr/libexec/java_home/bin/java" (-1)
  1. Type ik vervolgens: /usr/libexec/java_home:, dan krijg ik:
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
  1. In de systeemvoorkeuren vind ik Java 6 overigens weer niet terug, terwijl het blijkbaar nog wel aanwezig is (zie: screenshot).

  1. Vervolgens lees ik dit antwoord op StackOverflow. De opmerking onderaan de post is volgens mij relevant voor mijn situatie:

An important variation is the setup you get if you start by installing Apple’s Java and later install Oracle’s. In that case Step 2 above will give you

/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Commands/java
  1. Want bij mij ziet de symlink er zo uit:
/usr/bin/java@ -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

Vragen

  • Is dit inderdaad de oorzaak van de foutmelding die ik krijg?
  • Zo ja, hoe kan ik dit oplossen? (Ik heb geen idee waar ik wat moet aanpassen om de JAVA_HOME variable naar het juiste pad te laten verwijzen).

Misschien niet antwoord dat je zoekt, maar ik zou aanbevelen Docker Desktop te installeren, bijv via Homebrew, en dan een GeoServer Docker container van, bijv deze Docker gebruiken. Bij mijn weten wordt Java niet meer door Apple ondersteund, in ieder geval hoef je je systeem niet te vervuilen en kun je gemakkelijker upgraden naar nieuwe GeoServer versies, koppelen met PostGIS container etc. Is eenmalige investering die zich op termijn uitbetaalt. Ook als je bijv later op een echte server wilt uitrollen. Just – ook Mac OS X.

Bedankt @Just_OSGeo!

Dat is inderdaad niet het antwoord dat ik zocht, maar waarschijnlijk wel het antwoord waar ik behoefte aan had ;). Ik ga er eens induiken! Systeemvervuiling en upgraden zijn voor mij wel belangrijke en relevante voorwaarden namelijk.

UPDATE:

Installatie via $ brew cask install docker, is deprecated vanaf v2.6.0 en disabled vanaf v2.7.0 (december 2020, zie: release notes en discussie ). Je zult de volgende melding krijgen:

Error: Calling `brew cask install` is disabled! Use brew install [--cask] instead.

Hiermee slaagt de installatie, maar kan ik desondanks docker niet openen vanwege een verouderd OS (ik kan niet meer upgraden helaas):

$ brew install --cask --appdir=/Applications docker

Opnieuw de vraag

Heeft iemand een suggestie hoe ik het probleem uit mijn eerste post kan oplossen. Dat is voor mij vermoedelijk nu toch de kortste weg.

Docker voor Mac installeren vanaf Get Started | Docker ?

Dag @matthijsln,

Ik zou inderdaad graag gebruik maken van Docker, maar zoals ik in mijn vorige post probeerde uit te legen, is dat voor mij op dit moment geen optie. Ik had docker geïnstalleerd, maar kan het vervolgens niet draaien. De minimale systeemvereisten zijn hoger dan wat ik maximaal kan draaien:

macOS must be version 10.14 or newer

Ik zit met 10.12 helaas aan de max op dit moment, vandaar mijn herhaalde vraag :wink:

Ok, is die eis voor laatste Docker for Mac versies. Heb tot voor kort (dec 2020) Docker for Mac op zelfs El Capitan (10.11) gedraai, niet via Homebrew. En daarvoor zelfs Docker onder Ubuntu in VirtualBox op zelfde Mac(Book Pro 2016). Maar er is ergens een HW-limiet voor “oude” Macs hoever je kunt upgraden, plus permissie-issues voor laatste versies.

Met direct Java op Mac moeten toch anderen hier je zien te helpen.

Ja, dat vermoed ik:

Installation

Main system requirements

  • Docker Desktop - macOS must be version 10.14 or newer, i.e. Mojave (10.14) or Catalina (10.15).
  • Mac hardware must be a 2010 or a newer model.
  • View all macOS system requirements here.

Dus qua hardware is er wel speling, en daar zit ik met 2011 en wat upgrades, op zich nog goed.

[…] plus permissie-issues voor laatste versies.

Klopt, daarmee zit ik nu met 10.12 echt aan het maximum.

Net nog een keer opnieuw geprobeerd te installeren, maar dan krijg ik dus deze melding:
14
Wel interessant dat hier weer 10.13 genoemd wordt, maar goed, dat verandert voor mij helaas niks.

Hopelijk heeft iemand voor the time being nog een goed advies t.a.v. Java en anders stel ik mijn ambities maar uit tot betere tijden :wink: .