javamiddlewarejdeveloper

JDeveloper ojmake on a Linux server unable to load libraries referenced form pom.xml


I have an Oracle Middleware ADF Application (JDeveloper 12.2.1.4.0) converted to Maven Project. Locally on my Windows PC everything runs. Maven pipeline successfully generates ear-file.

On the CD/CI pipeline only the native Maven task using Java compiler work smoothly. The next step where ojmake compiler involved fails with a package does not exist and cannot find symbol error messages.

All the Maven dependencies were successfully loaded during the standard Java compiler step. Oracle ojmake-compiler don't see them and seems to fail loading them again.

Does ojmake still relay on classic JDeveloper classpath stored in the jpr-file? How can I synchronize pom.xml with the jpr-descriptor?


Solution

  • ojmake doesn't use the jpr-file to find dependencies. JDeveloper 12 abandons this part of the jpr-descriptor. As the project was converted to the Maven-project, the dependencies are managed only by pom.xml. The appropriate part of the JPR stays untouched and it is not used anymore.

    (AFAIK it worked differently in JDeveloper 11. It synchronized the dependency list between pom.xml and jpr-file)

    The problem is the way, that ojmake probably uses not the same setting.xml file as the standard Maven compiler.

    On CD/CI server it is common, that settings.xml doesn't exists in the home directory of the user. In this case Maven uses

    The problem: ojmake always searches for Maven configuration in the home directory ~/.m2/settings.xml. If the file doesn't exists, ojmake cannot find the Maven repository server and fails.

    UPDATE: Please ensure