I am trying to setup a basic app running quarkus 3.4.3 and javafx 21.0.1 using gradle 8.4 with kotlin dsl as the build tool. As soon as I apply the quarkus plugin, I get an error when the build tries to resolve the files for the configuration:
Execution failed for task ':jfxapp:quarkusGenerateCode'.
> Could not resolve all files for configuration ':jfxapp:quarkusProdBaseRuntimeClasspathConfiguration'.
> Could not resolve org.openjfx:javafx-controls:21.0.1.
Required by:
project :jfxapp
> Cannot choose between the following variants of org.openjfx:javafx-controls:21.0.1:
- linux-aarch64Runtime
- linuxRuntime
- mac-aarch64Runtime
- macRuntime
- runtime
- winRuntime
All of them match the consumer attributes:
- Variant 'linux-aarch64Runtime' capability org.openjfx:javafx-controls:21.0.1:
- Unmatched attributes:
- Provides org.gradle.category 'library' but the consumer didn't ask for it
- Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
- Provides org.gradle.native.architecture 'aarch64' but the consumer didn't ask for it
- Provides org.gradle.native.operatingSystem 'linux' but the consumer didn't ask for it
- Provides org.gradle.status 'release' but the consumer didn't ask for it
- Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
- Variant 'linuxRuntime' capability org.openjfx:javafx-controls:21.0.1:
- Unmatched attributes:
- Provides org.gradle.category 'library' but the consumer didn't ask for it
- Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
- Provides org.gradle.native.architecture 'x86-64' but the consumer didn't ask for it
- Provides org.gradle.native.operatingSystem 'linux' but the consumer didn't ask for it
- Provides org.gradle.status 'release' but the consumer didn't ask for it
- Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
- Variant 'mac-aarch64Runtime' capability org.openjfx:javafx-controls:21.0.1:
- Unmatched attributes:
- Provides org.gradle.category 'library' but the consumer didn't ask for it
- Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
- Provides org.gradle.native.architecture 'aarch64' but the consumer didn't ask for it
- Provides org.gradle.native.operatingSystem 'macos' but the consumer didn't ask for it
- Provides org.gradle.status 'release' but the consumer didn't ask for it
- Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
- Variant 'macRuntime' capability org.openjfx:javafx-controls:21.0.1:
- Unmatched attributes:
- Provides org.gradle.category 'library' but the consumer didn't ask for it
- Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
- Provides org.gradle.native.architecture 'x86-64' but the consumer didn't ask for it
- Provides org.gradle.native.operatingSystem 'macos' but the consumer didn't ask for it
- Provides org.gradle.status 'release' but the consumer didn't ask for it
- Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
- Variant 'runtime' capability org.openjfx:javafx-controls:21.0.1:
- Unmatched attributes:
- Provides org.gradle.category 'library' but the consumer didn't ask for it
- Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
- Provides org.gradle.status 'release' but the consumer didn't ask for it
- Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
- Variant 'winRuntime' capability org.openjfx:javafx-controls:21.0.1:
- Unmatched attributes:
- Provides org.gradle.category 'library' but the consumer didn't ask for it
- Provides org.gradle.libraryelements 'jar' but the consumer didn't ask for it
- Provides org.gradle.native.architecture 'x86-64' but the consumer didn't ask for it
- Provides org.gradle.native.operatingSystem 'windows' but the consumer didn't ask for it
- Provides org.gradle.status 'release' but the consumer didn't ask for it
- Provides org.gradle.usage 'java-runtime' but the consumer didn't ask for it
It seems I will have to fix this via the project configuration. The javafx-gradle plugin states the following regarding variants:
// Approach 1: Explicit Variant
// The following snippet will let you add attributes for linux and x86_64 to a configuration
configurations.someConfiguration {
attributes {
attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage, Usage.JAVA_RUNTIME))
attribute(OperatingSystemFamily.OPERATING_SYSTEM_ATTRIBUTE, objects.named(OperatingSystemFamily, "linux"))
attribute(MachineArchitecture.ARCHITECTURE_ATTRIBUTE, objects.named(MachineArchitecture, "x86-64"))
}
}
// Approach 2: Copy existing configuration into another configuration
configurations.someConfiguration {
def runtimeAttributes = configurations.runtimeClasspath.attributes
runtimeAttributes.keySet().each { key ->
attributes.attribute(key, runtimeAttributes.getAttribute(key))
}
}
but I an unable to make it work.
Can anyone tell me how to fix this issue? I cannot upload files here because I am a new user, but I am sharing the link of the sample app via a link to a bug report I filed in quarkus:
sample project
Thank you!