I am building an IBM ODM RuleApp using the ODM CLI compiler in a GitLab CI (Linux runner) environment.
java -jar rules-compiler.jar -config build.properties
The build fails with the following error when a particular XOM JAR is included in the xom-classpath property.
java.lang.IllegalArgumentException: URI is not hierarchical
at java.nio.file.Paths.get(Paths.java:98)
at com.ibm.rules.build.RuleProjectBuilder.buildDeploymentConfiguration
Environment
IBM ODM: 9.5.0 (CLI compiler)
Java: 21
OS: Linux (GitLab Runner)
Build type: CLI / headless build (not Rule Designer)
build.properties
project=test-service
output=test-service/sortie
embedded-xom=true
xom-classpath=testX-xom.jar,testX2-xom.jar
Observed Behavior
The build fails with URI is not hierarchical when testX-xom.jar is present in xom-classpath.
Obviously removing it will make the build fail and will show this
While applying business to execution
(B2X) model mapping GBREX0001E: Cannot
find execution class
'com.test.package.Testclass'
Update:
-
The JAR files are not corrupted ( that's not the case here)
-
When the xom-classpath parameter is set to false, the RuleApp build completes successfully. However, this configuration requires the XOMs to be deployed separately and then explicitly linked during deployment, instead of being packaged automatically within the RuleApp.
-
I use the same pipeline for many rule projects and it works perfectly.
------------------------------
Mohamed ALI CHARFEDDINE
------------------------------