What is discovered?
The Maven Project Discoverer is not currently provided as an extension: instead it is embedded in CAST AIP and is therefore present "out of the box".
Configures a project on each folder that contains a pom.xml file except when the type of packaging declared in the pom.xml is "pom".
Click to enlarge
- Java language and environment (1.1 to 8.0).
- Application root path:
- Standard MAVEN path (src/main/webapp) when "war" packaging is declared in pom.xml
- otherwise folder containing POM
- Source folders configured in standard maven paths:
- Libraries according to artifact ids in the pom.xml dependencies declaration: JUnit, Log4J, Commons logging, DOM4J, JSF, MX4J, Hibernate, Struts, Spring etc.
The following messages emitted by the discoverer may appear during the packaging action:
When a pom.xml file defines a dependency as "optional", a "missing project" alerts will be raised for the dependencies, even if they are actually present. These missing project alerts can be ignored. For example, the following will raise a missing project alert for "junit":
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <optional>true</optional> </dependency>
When a dependency <version> is defined in a <properties> tag in the parent pom.xml, then the CAST Delivery Manager will be able to successfully locate the project. However, if the <properties> tag is then followed by a <profile> in a <profiles> tag, the CAST Delivery Manager is not able to recognize the dependent project and an undefined variable alert will be raised for this. To solve the undefined variable alert: