By Juergenkress-Oracle on Dec 24, 2015
Maven is a commonly used build system for java projects. It provide benefits ranging from standardizing project layouts, to automated dependency fetching, to automated builds and Maven. Oracle provides a pretty comprehensive document outlining how to build and create Oracle SOA and BPM projects using Maven. See this article that documents some simple steps to get up and running using Maven. However, when running my first Maven project I encountered some unexpected errors. Maven could not find any SOA archetypes and was also unable to load every dependency. As I found, being able to create, build, and deploy SOA and BPM projects using Maven requires some initial pre-work. Once the set-up is done, the Oracle doc mentioned above will make more sense and will execute successfully.
Why Maven in SOA Applications?
Unlike Ant, Maven does not require developers to specify every command to achieve a goal. Moreover, Maven’s structure in the form of a POM file allows dependencies to be managed easily. However, the biggest benefit is that Maven in JDeveloper provides complete a life-cycle process. Each goal incorporates the previous one and adds functionality. For example, if we run the mvn test command, it will execute the compile, package and deploy commands before running each test on the composite. The idea is to provide a foundation for continuous development and integration. A single command can compile, package, deploy and run all test cases: saving you time.
Gradle provides much of the same functionality of Maven but on a different format. It is implemented using Groovy and, as a result, some of its scripts are much shorter than Maven’s. Unfortunately, Gradle is not native to JDeveloper at this moment.
Documentation lists five goals for the SOA Maven Plug-in. However, The plug-in itself lists six goals.
- compile: Compiles the Application
- package: Creates a SAR file of the composite
- deploy: Deploys the SOA composite
- test: Runs all test created for the SOA composite
- undeploy: Removes the composite
- help: Provides a list of goals and their corresponding commands.
help goal is the only goal not listed in the actual Oracle document but
displayed on the plug-in itself. While the “help” command may not be a
“Goal”, It provides useful information regarding goals, commands, and
what each command tries to achieve. Read the complete article here.
For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.