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?
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
/opt/apache-maven-3.6.3/conf/setting.xml
setting.xml
is overwritten by the CDCI-Server (for example Bamboo or Jenkins)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
ojmake
in your pom.xml.exe
extension in the filename.