In the earlier post, we saw how to create POM files from the Application Wizard. In this post, I will talk more about the POM files created by the Application Wizard.
Application POM
Expand the 'Application Resources' panel in the Application Navigator and you will find 'Build Files' folder. Expand the 'Build Files' folder and you will see the pom.xml. This is the Application level POM. In earlier release (11g), the application pom file was not inside the 'Build Files' folder, but was under 'Maven POMs' folder. In 12c, we use 'Build Files' folder to list all build related files (pom.xml in case of Maven or build.xml in case of Ant)
Application POM file is stored in the same directory location as the Application's .jws file is.
Project POM
Project level POMs are located inside the 'Resources' folder of the projects. See the snapshot below.
Let's double click on the Application POM and see what happens. JDeveloper has an Overview Editor to visualize and edit POM's content.
Now, open the two pom files related to Model and ViewController projects.
Few interesting things to observe:
- There is an OverView Editor to visualize and edit pom's content
- There is an 'Effective POM' tab to view the effective pom content
- More interestingly, if you look at the Child Modules section of the Application POM, you will notice two entries, which are Model and ViewController. The two projects are child modules of Application POM
- The packaging type of Application POM is 'pom' (since it's multi-module project)
- If you look at the POM file content of Model and ViewController projects, you will observe that the parent of the POM is *not* set (to Application POM).
Why did JDeveloper go with the multi-module (aggregation) approach rather than inheritance approach? Let's explore this question in the next blog.
JDeveloper Used: 12.1.2.0.0
Maven Version Used: 3.0.4
Hope you find this blog useful!.