Oracle SOA 12c ve Maven

JDeveloper SOA uygulaması wizardı, maven pom.xml dosyasını da oluşturuyor. Bu dosyanın üzerine sağ tıklayıp, örneğin “clean” komutunu çalıştırdığımızda, aşağıdaki hatayı veriyor.

Failure to find com.oracle.soa:sar-common:pom:12.1.3-0-0

maven error

Maven Hatası

Bunun nedeni, pom.xml içerisinde tanımlanan parent pom’u bulamıyor olması. Sorunu çözmek için aşağıdaki adımları izlemek gerekiyor.
öncelikle /etc/profile.d altında bir dosyaya, gerekli ortam değişkenlerini tanımlıyoruz. Ben jdeveloper’ın çalışmasında soruna yol açan GNOME_DESKTOP_SESSION_ID’yi de burada kaldırdım. Oracle 12c ile birlikte gelen maven kurulumunu kullandım.

export M2_HOME=/oracle/Middleware/Oracle_Home/oracle_common/modules/org.apache.maven_3.0.5
export PATH=${M2_HOME}/bin:$PATH
export JAVA_HOME=/usr/java/default
unset GNOME_DESKTOP_SESSION_ID

12c yanında “Maven Synchronization plug-in” isminde bir de plugin geliyor. Bu plugin iki dosyadan oluşuyor. bunlar

ORACLE_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.1.3/oracle-maven-sync.12.1.3.pom

ve

ORACLE_HOME/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.1.3/oracle-maven-sync.12.1.3.jar

yerel (local) repositorymize bu plugini aşağıdaki komut ile kurabiliriz.

cd /oracle/Middleware/Oracle_Home/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.1.3
mvn install:install-file -DpomFile=oracle-maven-sync-12.1.3.pom -Dfile=oracle-maven-sync-12.1.3.jar

plugin kurulduktan sonra, aşağıdaki şekilde bu plugin ile ilgili bilgi alabiliriz.
mvn help:describe -Dplugin=com.oracle.maven:oracle-maven-sync -Ddetail

Aşağıdaki şekilde, local repositorymizi güncelliyoruz.
mvn com.oracle.maven:oracle-maven-sync:push -Doracle-maven-sync.oracleHome=/oracle/Middleware/Oracle_Home/ -DtestingOnly=false
Bu işlem biraz zaman alacaktır. Internet üzerinden gerekli bağımlılıkları (dependency) indirip kurulum bittikten sonra, jdeveloper açık ise kapatıp yeniden açmak gerekiyor.

Artık pom.xml’e sağ tıklayarak istediğimiz işlemi yapabiliriz.

goals

SOA Suite Maven