Groovy on 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.

Determinare la versione da linea di comando

Mi sono accorto oggi che mentre inizializzavo i miei progetti Groovy on Grails con la versione 2.3.11 (che è quella che mi ha richiesto il Cliente), in realtà quando eseguivo il comando 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:

$ 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 del blog sull’argomento

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.