Page tree
Skip to end of metadata
Go to start of metadata

Extension ID

com.castsoftware.dmtjeemavendiscoverer

What's new ?

See Maven Project Discoverer - 1.0 - Release Notes for more information.

Extension description

This discoverer detects a project on each folder that contains a pom.xml file except when the type of packaging declared in the pom.xml is "pom".

In what situation should you install this extension?

This extension should be used when you are analyzing Maven based JEE applications. The discoverer will automatically create one project for every folder that is delivered for analysis containing a pom.xml file (except when the type of packaging declared in the pom.xml is "pom") and one corresponding Analysis Unit will then be created for analysis purposes. 

  • project inheritance and project aggregation is supported
  • the pom.xml must be valid XML and not contain any erroneous characters or spaces - you can check the consistency of an XML file by opening it in a browser - errors will be shown.

Resulting source package configuration

  • 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:
    • src\main\java
    • src\test\java
  • Libraries according to artifact ids in the pom.xml dependencies declaration: JUnit, Log4J, Commons logging, DOM4J, JSF, MX4J, Hibernate, Struts, Spring etc.

Technical information

The discoverer is already embedded in AIP Core. This embedded version of the extension will not undergo any further updates and instead all functional changes/customer bug fixes will be actioned in the extension.

Maven support

Maven releaseSupported
3.x(tick)
2.x(tick)

AIP Core compatibility

This extension is compatible with:

AIP Core release

Supported

8.3.x(tick)

Download and installation instructions

This extension will not be automatically installed when Maven related files are delivered - the embedded discoverer will be used. Instead if it is required, the extension should be downloaded and installed "manually":

Packaging messages

The following messages emitted by the discoverer may appear during the packaging action:

FormatMessage IDMessageRemediation
Errorcast.dmt.discover.jee.maven.resources.pomAnalysisFailedThe analysis of POM file %PATH% has failedVerify the corresponding file. If the file is good, please raise a ticket.
Warningcast.dmt.discover.jee.maven.project.superPomParseErrorError parsing Maven Super POM!Technical issue. Please contact Support.
Warningcast.dmt.discover.jee.maven.project.parseErrorError parsing Maven project '%FILE_PATH%'Verify the corresponding file. If the file is good, please raise a ticket.
Warningcast.dmt.discover.jee.maven.noPackagingNo packaging found in maven file %PATH%This project will be considered as a jar.
Warningcast.dmt.discover.jee.maven.missingPomParentThe maven parent artifact %PARENT% required by the maven artifact %ID% is missing.Make sure that the pom.xml file of the parent is included in the source code of this package.
Warningcast.dmt.discover.jee.maven.resources.jarFileNotFoundThe jar file is not present in the maven artifact folder %PROJECT_PATH%The maven artifact is ignored to avoid to hide the alert. Please raise a ticket to investigate the issue.
Warningcast.dmt.discover.jee.maven.moreWebServiceMore then one webservice file %FILE_PATH% discovered in project.You can either ignore this warning and select the WSDL version manually in the Analysis Unit for that project or you need to reconfigure your project to a single WSDL file (web descriptor).

Notes

<optional>true</optional>

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>

Dependency versions

When a dependency <version> is defined in a <properties> tag in the parent pom.xml, CAST will be able to successfully locate the project. However, if the <properties> tag is then followed by a <profile> in a <profiles> tag, CAST is not able to recognize the dependent project and an undefined variable alert will be raised for this. To solve the undefined variable alert:

  • reconfigure the pom.xml by removing the <profile>
  • manually remediate the alert in the CAST Delivery Manager Tool
  • No labels