-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow to define parent first artifacts in fast jar mode #17392
Allow to define parent first artifacts in fast jar mode #17392
Conversation
@stuartwdouglas it is the PR for the problem that I described here. WDYT of it? |
@essobedo CI says there is a formatting issue. Please check/fix. |
32d5711
to
0d900a7
Compare
0d900a7
to
8aeea2a
Compare
This workflow status is outdated as a new workflow run has been triggered. |
This workflow status is outdated as a new workflow run has been triggered. Failing Jobs - Building 8aeea2a
Full information is available in the Build summary check run. Test Failures⚙️ JVM Tests - JDK 11 Windows #📦 extensions/grpc/deployment✖ 📦 extensions/resteasy-reactive/jaxrs-client-reactive/deployment✖ ⚙️ MicroProfile TCKs Tests #📦 tcks/microprofile-config✖ ✖ ✖ ✖ ✖ ✖ ✖ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. With our internal parent first stuff we differentiate between dev/test and prod, but I don't think it really matters here because you can control it via profiles.
Failing Jobs - Building 8aeea2a
Full information is available in the Build summary check run. Test Failures⚙️ Maven Tests - JDK 11 #📦 integration-tests/maven✖ |
Thanks for the patch |
@stuartwdouglas Thx for reviewing and merging it, do you want a backport for the branch 1.13? |
fixes #17391
Motivation
In case a dependency of the application contains classes that are part of the JDK, we can end up with
LinkageError
. This is typically what happens when we have a dependency that contains the classjavax.xml.namespace.QName
, because this class is still part of the JDK.The official workaround is to define the artifact with
quarkus.class-loading.parent-first-artifacts
but it is ignored in fast jar mode.Modifications
ClassLoadingConfig
to extract the parent first artifacts that are defined by the enduser to build a collection of artifact keys to define as parent first artifacts in the model.