Grails, regolazione fine dell’ambiente di sviluppo integrato con Oracle

Spread the love
Grails, driver Oracle, Groovy

In questo articolo riassumo un po’ di informazioni sulla corretta impostazione di un progetto Groovy on Grails che integra una base dati Oracle, utilizzando la IDE IntelliJ IDEA di JetBrains. Con poco sforzo si può adattare ad altri tipi di DBMS.

Versione di Grails da linea di comando

Mi sono accorto oggi che mentre inizializzavo i miei progetti con la versione 2.3.11 (che è quella che mi ha richiesto il Cliente), in realtà quando eseguivo il comand grails veniva impiegata la versione 4.0.5. L’output era il seguente:

$ grails -version
 Grails version: 4.0.5

Ho in realtà a disposizione diverse versioni di Grails:

$ ll ~/.sdkman/candidates/grails
 drwxr-xr-x  8 marcob marcob 4096 gen  8 11:24 ./
 drwxr-xr-x  6 marcob marcob 4096 ago 13  2019 ../
 drwxr-xr-x 13 marcob marcob 4096 apr 29  2013 2.1.5/
 drwxr-xr-x 13 marcob marcob 4096 giu 21  2013 2.2.3/
 drwxr-xr-x 12 marcob marcob 4096 gen  8 11:23 2.3.11/
 drwxr-xr-x  7 marcob marcob 4096 apr 17  2018 3.2.13/
 drwxr-xr-x  7 marcob marcob 4096 lug 11  2019 4.0.0/
 drwxr-xr-x  7 marcob marcob 4096 ott 25 20:07 4.0.5/
 lrwxrwxrwx  1 marcob marcob    7 gen  8 11:24 current -> 4.0.5/

È sufficiente pertanto modificare il puntamento:

$ unlink ~/.sdkman/candidates/grails/current
$ ln -s ~/.sdkman/candidates/grails/2.3.11 current

A questo punto la versione era quella desiderata:

$ grails -version
 Grails version: 2.3.11

Oracle driver non trovato

La compilazione si arrestava dando questo errore

ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Il driver Oracle dev’essere infatti disponibile nella directory del progetto.

$ echo $ORACLE_HOME 
 /usr/lib/oracle/12.2/client64
$ cd <PROJECT_HOME>/lib
$ cp $ORACLE_HOME/lib/ojdbc8.jar .

È forse più economico linkare il file invece di copiarlo:

$ ln -s $ORACLE_HOME/lib/ojdbc8.jar

Poi occorre aggiungere il path del client anche alle variabili di ambiente; il modo più robusto per farlo è modificare il file ~/.bashrc

$ nano ~/.bashrc
...
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export PATH=$PATH:$ORACLE_HOME/lib
...

Occorre poi rileggere il file per poter caricare le variabili

$ source ~/.bashrc

A questo punto la mia IDE (Intellij IDEA) compila che è una meraviglia.

Fonti

Altri articoli su Groovy on Grails

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.