jenv ja virtuaalikoneiden ihanuus

Olen ihastunut.

Työssäni tulee käyteltyä Javan eri versioita vieläkin, koska vaikka maailma alkaa olla Java8-valmis, vieläkin tulee vastaan ympäristöjä jotka eivät toimi kuin vanhemmilla versioilla. Toisaalta uutta on aina kiva kokeilla. Java 9 tekee tuloaan ensi vuonna, ja siitä on jo esiversiota tarjolla.

Ikuinen ongelma on ollut useamman virtuaalikoneen, saati sitten JDK version hallinnoiminen koneessa – tai edes sen pääasiallisimman valitseminen oikein jos useampi JDK on asennettuna. Homman salaisuus on alkanut JAVA_HOME ja PATH ympäristömuuttujien hyvästä hallinnasta, mutta asiaa sotkevat myös erinäiset rekisteriasetukset ja/tai symboliset linkit. Kysymys kuuluu: kun kirjoitat komentoriville

java -version

javac -version

… niin mikä sieltä vastaa? Ja onko se mitä haluat? Vai vastaako mikään?

Windows maailmasta huonoja uutisia: Windowsin rekisteriin tallettuville jämille on vaikeata tehdä mitään. Java Windowsilla, sen kanssa voi pärjätä, mutta ei se hauskaa ole. Tokkopa on tarkoituskaan olla.

Nykyisin Mac-käyttäjänä olen onneksi päässyt rekisterihelvetistä eroon. Mutta koska tälläkin alustalla problematiikkaa riittää, eksyin tutustumaan jenv-työkaluun, joka osaltaan helpottaa hommaa. Valitettavasti vaatii toimiakseen bash-valmiin käyttöjärjestemän, eritoten Mac OSX tai Ubuntu pelittää hienosti.

Jenv löytyy osoitteella http://www.jenv.be/ – ja toki myös GitHubista suoraan. Itse tuikkasin sen Maciini Homebrew:llä, kuten monet muutkin kivat jutut. Jahka se löytyy komentoriviltä, tärkeimmät komennot ovat:

jenv add /PATH/TO/VM

jenv versions

jenv shell java-version-that-i-want-to-use

Noista on paljon hyviä esimerkkejä heti pääsivulla. Toki voi myös asettaa pysyvämmin default virtuaalikoneen käyttöön, mutta esim. tuo jenv shell-komento antaa mahdollisuuden kokeilla Java 9 prereleasea turvallisesti sotkematta silti vakaampia projektejaan. Ja mikä mukavinta- toimii myös ANT ja Mavenissä suoraan.

Jenv ja JDK 9 vauhdissa

Edellämainitun lisäksi toki on monta muutakin virtuaalikone-ulottuvuutta: Mitä virtuaalikonetta selaimesi käyttää (jos käyttää), entä IDE ympäristösi? Maven? Eli ei ihan yksinkertainen asia. Hyvä kuitenkin aloittaa perusteista, eli siitä että ainakin yhdessä paikassa homma toimii juuri kuten haluat.

Toinen jenv löytyy muuten osoitteessa http://jenv.io/ – näyttäisi tukevan myös Windows hommeleita.

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s