quarkus: Quarkus multimodule build failures after upgrading to 2.0.2.Final
Describe the bug
On a multimodule quarkus application I get the following behavior after upgrading to 2.0.2
[INFO] Reactor Summary for root 0.0.1-SNAPSHOT:
[INFO]
[INFO] root ............................................... SUCCESS [ 0.373 s]
[INFO] parent ............................................. SUCCESS [ 0.767 s]
[INFO] q-entities ......................................... SUCCESS [ 2.721 s]
[INFO] submodule-1 ........................................ SUCCESS [ 0.222 s]
[INFO] q-app .............................................. FAILURE [ 9.532 s]
[INFO] q-tests ............................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:2.0.1.Final:build (default) on project release-raccoon-app: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.hibernate.orm.rest.data.panache.deployment.HibernateOrmPanacheRestProcessor#findEntityResources threw an exception: java.lang.IllegalArgumentException: Couldn't find id field of null
This happens when the quarkus submodule is being built.
I had a look at the migration guide to 2.0.0 but couldn’t find something relevant to my setup. The error message is a bit cryptic as well and couldn’t find where to look for it in the quarkus codebase. Did something change within the new version that needs attention?
The entire codebase including the upgrade code can be found here https://github.com/jaivalis/release-raccoon/tree/upgrade-quarkus.
Expected behavior
Build should succeed since it does with the older version of quarkus 1.10.5.Final.
Actual behavior
Build fails with a cryptic message:
❯ mvn package
executing mvnw instead of mvn
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] root [pom]
[INFO] parent [pom]
[INFO] raccoon-entities [jar]
[INFO] scraping [jar]
[INFO] release-raccoon-app [jar]
[INFO] raccoon-tests [jar]
[INFO]
[INFO] --------------------< com.raccoon:release-raccoon >---------------------
[INFO] Building root 0.0.1-SNAPSHOT [1/6]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] -------------------------< com.raccoon:parent >-------------------------
[INFO] Building parent 0.0.1-SNAPSHOT [2/6]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --------------------< com.raccoon:raccoon-entities >--------------------
[INFO] Building raccoon-entities 0.0.1-SNAPSHOT [3/6]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ raccoon-entities ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ raccoon-entities ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- jandex-maven-plugin:1.1.0:jandex (make-index) @ raccoon-entities ---
[INFO] Saving Jandex index: /release-raccoon/raccoon-entities/target/classes/META-INF/jandex.idx
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ raccoon-entities ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /release-raccoon/raccoon-entities/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ raccoon-entities ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ raccoon-entities ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ raccoon-entities ---
[INFO] Building jar: /raccoon-entities/target/raccoon-entities-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] ------------------------< com.raccoon:scraping >------------------------
[INFO] Building scraping 0.0.1-SNAPSHOT [4/6]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ scraping ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /release-raccoon/scraping/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ scraping ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ scraping ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /release-raccoon/scraping/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ scraping ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ scraping ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ scraping ---
[INFO] Building jar: /release-raccoon/scraping/target/scraping-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] ------------------< com.raccoon:release-raccoon-app >-------------------
[INFO] Building release-raccoon-app 0.0.1-SNAPSHOT [5/6]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ release-raccoon-app ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ release-raccoon-app ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ release-raccoon-app ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 5 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ release-raccoon-app ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ release-raccoon-app ---
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ release-raccoon-app ---
[INFO] Building jar: /release-raccoon/release-raccoon-app/target/release-raccoon-app-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- quarkus-maven-plugin:2.0.2.Final:build (default) @ release-raccoon-app ---
[INFO] [org.jboss.threads] JBoss Threads version 3.4.0.Final
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for root 0.0.1-SNAPSHOT:
[INFO]
[INFO] root ............................................... SUCCESS [ 0.004 s]
[INFO] parent ............................................. SUCCESS [ 0.002 s]
[INFO] raccoon-entities ................................... SUCCESS [ 2.172 s]
[INFO] scraping ........................................... SUCCESS [ 0.130 s]
[INFO] release-raccoon-app ................................ FAILURE [ 7.866 s]
[INFO] raccoon-tests ...................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10.442 s
[INFO] Finished at: 2021-07-15T09:47:51+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:2.0.2.Final:build (default) on project release-raccoon-app: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR] [error]: Build step io.quarkus.hibernate.orm.rest.data.panache.deployment.HibernateOrmPanacheRestProcessor#findEntityResources threw an exception: java.lang.IllegalArgumentException: Couldn't find id field of null
[ERROR] at io.quarkus.hibernate.orm.rest.data.panache.deployment.EntityClassHelper.getIdField(EntityClassHelper.java:42)
[ERROR] at io.quarkus.hibernate.orm.rest.data.panache.deployment.EntityClassHelper.getIdField(EntityClassHelper.java:25)
[ERROR] at io.quarkus.hibernate.orm.rest.data.panache.deployment.ResourceImplementor.setId(ResourceImplementor.java:120)
[ERROR] at io.quarkus.hibernate.orm.rest.data.panache.deployment.ResourceImplementor.implementUpdate(ResourceImplementor.java:106)
[ERROR] at io.quarkus.hibernate.orm.rest.data.panache.deployment.ResourceImplementor.implement(ResourceImplementor.java:56)
[ERROR] at io.quarkus.hibernate.orm.rest.data.panache.deployment.HibernateOrmPanacheRestProcessor.findEntityResources(HibernateOrmPanacheRestProcessor.java:72)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR] at java.base/java.lang.reflect.Method.invoke(Method.java:566)
[ERROR] at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:820)
[ERROR] at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR] at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2442)
[ERROR] at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1476)
[ERROR] at java.base/java.lang.Thread.run(Thread.java:834)
[ERROR] at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <args> -rf :release-raccoon-app
(running with -X was not too revealing to me either)
How to Reproduce?
Run mvn clean package
on the branch mentioned above.
Output of uname -a
or ver
No response
Output of java -version
openjdk version “11.0.2” 2019-01-15 OpenJDK Runtime Environment 18.9 (build 11.0.2+9) OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
GraalVM version (if different from Java)
No response
Quarkus version or git rev
2.0.2.Final
Build tool (ie. output of mvnw --version
or gradlew --version
)
3.8.1
Additional information
No response
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 17 (14 by maintainers)
So, it’s not simply an upgrade to a new Quarkus version, it’s an upgrade plus major project layout refactoring. It’s better to separate that in two phases @jaivalis
Also lombok appears in compile scope, which should be provided.
Thanks a lot @aloubyansky!