In this post, we will see creation of SOA application/projects using the maven archetypes. And we will use local Maven Repository for the demonstration.
Navigate to %MW_HOME%\oracle_common\plugins\maven\com\oracle\maven\oracle-maven-sync\12.1.3 and use following commands to sync your local repository:
mvn install:install-file -Dfile=oracle-maven-sync-12.1.3.jar -DpomFile=oracle-maven-sync-12.1.3.pom
mvn com.oracle.maven:oracle-maven-sync:push -Doracle-maven-sync.oracleHome=%MW_HOME%
Update your archetype catalog using:
mvn archetype:crawl -Dcatalog=C:\Users\<<uname>>\.m2\archetype-catalog.xml
Generate SOA Application and project as shown below. This generates SOA application test-soa-application with project test-soa-project.
mvn archetype:generate -DarchetypeGroupId=com.oracle.soa.archetype -DarchetypeArtifactId=oracle-soa-application -DarchetypeVersion=12.1.3-0-0 -DgroupId=org.my.test -DartifactId=test-soa-application -DprojectName=test-soa-project -Dversion=1.0-SNAPSHOT
Import this maven project in JDeveloper using File –> Import and select the Maven Project option as shown below. Click OK.
Give your application directory as Root Directory which brings up all POMs and select other options as shown below. Click OK.
Enter Application Name and click OK.
Click OK if you get any error related to overriding the existing project dialog so that jws file is created. Now your project explorer should look like as below.
Open application level POM file in Application Resources directory as shown below and observe the details.
Open project level POM file in Resources directory of SOA Project and observe the details.
Compile SOA Application using mvn compile (from directory of SOA Application).
Modify server details in project level POM file as shown below and deploy your SOA projects using mvn pre-integration-test (from SOA application directory).
After execution, you will see following output and also can observe the SOA project deployed to SOA server as shown below.
You can execute SOA Plugin goals in the following manner from the directory containing project POM file.
mvn com.oracle.soa.plugin:oracle-soa-plugin:compile
mvn com.oracle.soa.plugin:oracle-soa-plugin:sar
mvn com.oracle.soa.plugin:oracle-soa-plugin:deploy
mvn com.oracle.soa.plugin:oracle-soa-plugin:undeploy
You can observe goal prefix as oracle-soa, when you describe the SOA Plugin as shown below.
so you can execute all goals simply using this goal prefix as below.
mvn oracle-soa:compile
mvn oracle-soa:sar
mvn oracle-soa:deploy
mvn oracle-soa:undeploy
Note: Use double quotes in the maven commands like below if you are seeing the error mentioned in this link.
mvn install:install-file “-DpomFile=oracle-maven-sync-12.1.3.pom” “-Dfile=oracle-maven-sync-12.1.3.jar” “-DoracleHome=C:/Oracle/Middleware/FMW1213New”
With the archetypes [BPEL]:
oracle-soa-application
oracle-soa-project
No problem, these let me create the proyect, and make:
mvn clean, compile, package. All is ok.
But with these archetypes [OSB].
Only let me: create the project and make:
mvn clean, compile … the mvn package generate and ERROR and do not let generate the jar.
oracle-servicebus-application
oracle-servicebus-project
With the archetypes [BPEL]:
oracle-soa-application
oracle-soa-project
No problem, these let me create the proyect, and make:
mvn clean, compile, package. All is ok.
But with these archetypes [OSB].
Only let me: create the project and make:
mvn clean, compile … the mvn package generate and ERROR and do not let generate the jar.
oracle-servicebus-application
oracle-servicebus-project
do you have any blogs on how to deploy osb applications?
You can have a look at http://wp.me/pEWnt-z2 for initial understanding on maven goals.
Also check:
http://biemond.blogspot.in/2014/06/maven-support-for-1213-service-bus-soa.html?m=1
http://weblog.redrock-it.nl/?p=643
Hi Siva,
I am able to deploy my application using maven properly.
While I am trying to deploy my application using Jenkins and Maven, I am getting following error. Can you please help me with this.
Building in workspace C:\Users\atulgupt\.jenkins\workspace\sca-demo
Updating https://scm-coconet.capgemini.com/svn/repos/oracleidp/BPEL/Trunk/test-soa-application at revision ‘2016-09-14T14:50:47.098 +0530’
At revision 231
No changes for https://scm-coconet.capgemini.com/svn/repos/oracleidp/BPEL/Trunk/test-soa-application since the previous build
[sca-demo] $ cmd.exe /C “C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\org.apache.maven_3.2.5\bin\mvn.bat clean install -X -Doracle.home=C:\Oracle\Middleware\Oracle_Home && exit %%ERRORLEVEL%%”
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T22:59:23+05:30)
Maven home: C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\org.apache.maven_3.2.5
Java version: 1.8.0_92, vendor: Sun Microsystems Inc.
Java home: C:\Program Files\Java\jdk1.8.0_92\jre
Default locale: en_US, platform encoding: Cp1252
OS name: “windows 10”, version: “10.0”, arch: “amd64”, family: “dos”
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\org.apache.maven_3.2.5\conf\settings.xml
[DEBUG] Reading user settings from C:\Windows\system32\config\systemprofile\.m2\settings.xml
[DEBUG] Using local repository at C:\Windows\system32\config\systemprofile\.m2\repository
[DEBUG] Using manager EnhancedLocalRepositoryManager with priority 10.0 for C:\Windows\system32\config\systemprofile\.m2\repository
[INFO] Scanning for projects…
[DEBUG] Extension realms for project org.my.test:test-soa-application:pom:1.0-SNAPSHOT: (none)
[DEBUG] Looking up lifecyle mappings for packaging pom from ClassRealm[plexus.core, parent: null]
[ERROR] The build could not read 1 project -> [Help 1]
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM: Failure to find com.oracle.soa:test-soa-project:pom:12.2.1-0-0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and ‘parent.relativePath’ points at no local POM @ line 21, column 13
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:416)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:672)
at org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:663)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:253)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
[ERROR]
[ERROR] The project org.my.test:test-soa-project:1.0-SNAPSHOT (C:\Users\atulgupt\.jenkins\workspace\sca-demo\test-soa-project\pom.xml) has 1 error
[ERROR] Non-resolvable parent POM: Failure to find com.oracle.soa:test-soa-project:pom:12.2.1-0-0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and ‘parent.relativePath’ points at no local POM @ line 21, column 13 -> [Help 2]
org.apache.maven.model.resolution.UnresolvableModelException: Failure to find com.oracle.soa:test-soa-project:pom:12.2.1-0-0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:195)
at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:244)
at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:899)
at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:751)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:309)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:463)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:432)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:549)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:432)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:396)
at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:672)
at org.apache.maven.DefaultMaven.getProjectsForMavenReactor(DefaultMaven.java:663)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:253)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Failure to find com.oracle.soa:test-soa-project:pom:12.2.1-0-0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:444)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:246)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:223)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:294)
at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:191)
… 24 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Failure to find com.oracle.soa:test-soa-project:pom:12.2.1-0-0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.newException(DefaultUpdateCheckManager.java:231)
at org.eclipse.aether.internal.impl.DefaultUpdateCheckManager.checkArtifact(DefaultUpdateCheckManager.java:206)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.gatherDownloads(DefaultArtifactResolver.java:585)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:503)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:421)
… 28 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
Picked up JAVA_TOOL_OPTIONS: -Djava.vendor=”Sun Microsystems Inc.”
Build step ‘Invoke top-level Maven targets’ marked build as failure
Finished: FAILURE
Did you try doing the same by having the project locally instead in some VCS. The error says its unable to find the parent pom but looking in Maven site.
I resolve my issue. I have not updated my setting.xml file in maven home.
Hi Siva ., i followed and i see this error ? Can you help
I am using my local system only and enot sure why i am getting this error., do you ave any idea ?
mvn install:install-file -Dfile=oracle-maven-sync-12.1.3.jar -DpomFile=oracle-maven-sync-12.1.3.pom
– this worked BUILD SUCCESS
mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=C:\Oracle\Middleware\Oracle_Home
– this worked BUILD SUCCESS
mvn archetype:crawl -Dcatalog=C:\Users\samy\.m2\archetype-catalog.xml
– this worked BUILD SUCCESS
When i try to create application and project ,,
mvn archetype:generate -DarchetypeGroupId=com.oracle.soa.archetype -DarchetypeArtifactId=oracle-soa-application -DarchetypeVersion=12.1.3-0-0 -DgroupId=org.my.test -DartifactId=test-soa-application -DprojectName=test-soa-project -Dversion=1.0-SNAPSHOT
– this one is failing with following ERROR
[DEBUG] Writing resolution tracking file C:\Users\samy\.m2\repository\com\oracle\soa\archetype\oracle-soa-application\12.1.3-0-0\oracle-soa-application-12.1.3-0-0.jar.lastUpdated
[DEBUG] Archetype com.oracle.soa.archetype:oracle-soa-application:12.1.3-0-0 doesn’t exist
org.apache.maven.archetype.downloader.DownloadException: Error downloading com.oracle.soa.archetype:oracle-soa-application:jar:12.1.3-0-0.
FYI :
this folder contains the only one .lastUpdated only
C:\Users\samy\.m2\repository\com\oracle\soa\archetype\oracle-soa-application\12.1.3-0-0
oracle-soa-application-12.1.3-0-0.jar.lastUpdated
This folder supposed to have .jar file and pom file pertaining to oracle-soa-application. Also did you check the contents of archetype-catalog.xml where the the list of archetypes are available? could you remove com directory from local repo and return the sync commands.
Nice article on Maven integration with SOA 12c.
This is good for single composite. Do you have any example for deploying the application (multiple composites)