Description

 When discovering a project with the Delivery Manager Tool (DMT), JEE Manifest projects are not discovered in DMT if a pom.xml exists in the root path.  The projects will not show up as discovered during DMT operations and you will see a message "Packaging successful but no project or library selected" as shown in the below screenshot:

 

Observed in CAST AIP


Release
Yes/No
8.1.x (tick)
8.0.x (tick)
7.3.x (tick)
Observed on RDBMS
RDBMS
Yes/No
Oracle Server (tick)
Microsoft SQL Server (tick)
CSS2 (tick)
Step by Step Scenario
  • Below is the step-by-step scenario leading to the problem:
  • No Manifest projects are discovered when pom.xml present in the root path. 
Impact of the Problem

The impact of the problem on the analysis or the dashboard is: Projects which are not discovered will not be in the dashboard.

Solution

To fix the problem, proceed as follows:

  • If the source code delivery folder has both a pom.xml in the root path (which is used by Maven discovery) and in addition has JEE manifest files (which are used by JEE Manifest discoverer), and only JEE Manifest projects are desired to be discovered  in DMT (no Maven projects should be discovered), then remove the pom.xml file from the source code delivery root path.

The discovery would work in older versions of the JEE Manifest discoverer, but the operation of the JEE Manifest discoverer changed as of version 1.0.3.

The rationale behind this is that the JEE Manifest discoverer is intended as a fallback solution when the project does not use any supported build system. The configuration it creates is not optimal, it can cause performance issues on large or even medium projects, and can sometimes have completeness issues.

 When used on a Maven project, the 1.0.0 version would duplicate the analysis configuration by default, causing many issues in the downstream analysis.

R&D therefore chose to make the JEE Manifest discoverer fully exclusive with the Maven discoverer. It will disable itself automatically when used on a project where Maven configuration files are present.

R&D recommends that on a project where Maven is used for compilation, the built-in Maven discoverer is used for DMT.

The output configuration will be safer, better and faster. Missing resources will be detected, and dependencies will be fully auto-configured.

More can be seen on the JEE Manifest discoverer in the documentation here (this limitation is also listed in the documentation): JEE Manifest Discoverer 

 

 

Notes/comments
Ticket # 6538
Related Pages