quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.58k stars 2.63k forks source link

ClassNotFoundException when launching main class with idea #37555

Open Postremus opened 9 months ago

Postremus commented 9 months ago

Describe the bug

I am evalutation currently of launching our quarkus apps using a main class vs. using ant scripts.

However, the CNFE from below is thrown. With a simple single-module project (generated from code.quarkus) quarkus starts.

I then created a multi-module project (using an internal archetype). This project has the same structure as any of our production apps. Starts perfectly fine when running in a terminal. Throws CNFE (not finding asm) when launched using the main class

Expected behavior

Quarkus starts without problems

Actual behavior

C:\eclipse\tools\java\21\bin\java.exe "-javaagent:C:\Users\mnp\AppData\Local\Programs\IntelliJ IDEA Ultimate\lib\idea_rt.jar=51134:C:\Users\mnp\AppData\Local\Programs\IntelliJ IDEA Ultimate\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\workspaces\toryu\ide-launch-test\ide-launch-test-web\target\classes;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-resteasy-reactive-jackson\3.5.0\quarkus-resteasy-reactive-jackson-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-resteasy-reactive\3.5.0\quarkus-resteasy-reactive-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-resteasy-reactive-common\3.5.0\quarkus-resteasy-reactive-common-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-common\3.5.0\resteasy-reactive-common-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-common-types\3.5.0\resteasy-reactive-common-types-3.5.0.jar;C:\Users\mnp\.m2\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-vertx\3.5.0\resteasy-reactive-vertx-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-core\3.6.0\smallrye-mutiny-vertx-core-3.6.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-runtime\3.6.0\smallrye-mutiny-vertx-runtime-3.6.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\vertx-mutiny-generator\3.6.0\vertx-mutiny-generator-3.6.0.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-codegen\4.4.5\vertx-codegen-4.4.5.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive\3.5.0\resteasy-reactive-3.5.0.jar;C:\Users\mnp\.m2\repository\org\jboss\logging\commons-logging-jboss-logging\1.0.0.Final\commons-logging-jboss-logging-1.0.0.Final.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-virtual-threads\3.5.0\quarkus-virtual-threads-3.5.0.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-core\4.4.5\vertx-core-4.4.5.jar;C:\Users\mnp\.m2\repository\io\netty\netty-common\4.1.100.Final\netty-common-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-buffer\4.1.100.Final\netty-buffer-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-transport\4.1.100.Final\netty-transport-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-handler\4.1.100.Final\netty-handler-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.100.Final\netty-transport-native-unix-common-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-handler-proxy\4.1.100.Final\netty-handler-proxy-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-socks\4.1.100.Final\netty-codec-socks-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-http\4.1.100.Final\netty-codec-http-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-http2\4.1.100.Final\netty-codec-http2-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-resolver\4.1.100.Final\netty-resolver-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-resolver-dns\4.1.100.Final\netty-resolver-dns-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-dns\4.1.100.Final\netty-codec-dns-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-resteasy-reactive-jackson-common\3.5.0\quarkus-resteasy-reactive-jackson-common-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-jackson\3.5.0\resteasy-reactive-jackson-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-jackson\3.5.0\quarkus-jackson-3.5.0.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.15.2\jackson-datatype-jsr310-2.15.2.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.15.2\jackson-datatype-jdk8-2.15.2.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.15.2\jackson-module-parameter-names-2.15.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-config-yaml\3.5.0\quarkus-config-yaml-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config-source-yaml\3.4.1\smallrye-config-source-yaml-3.4.1.jar;C:\Users\mnp\.m2\repository\org\yaml\snakeyaml\2.1\snakeyaml-2.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config-common\3.4.1\smallrye-config-common-3.4.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-classloader\2.1.2\smallrye-common-classloader-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config\3.4.1\smallrye-config-3.4.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config-core\3.4.1\smallrye-config-core-3.4.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-constraint\2.1.2\smallrye-common-constraint-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-core\3.5.0\quarkus-core-3.5.0.jar;C:\Users\mnp\.m2\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;C:\Users\mnp\.m2\repository\jakarta\enterprise\jakarta.enterprise.cdi-api\4.0.1\jakarta.enterprise.cdi-api-4.0.1.jar;C:\Users\mnp\.m2\repository\jakarta\enterprise\jakarta.enterprise.lang-model\4.0.1\jakarta.enterprise.lang-model-4.0.1.jar;C:\Users\mnp\.m2\repository\jakarta\interceptor\jakarta.interceptor-api\2.1.0\jakarta.interceptor-api-2.1.0.jar;C:\Users\mnp\.m2\repository\jakarta\inject\jakarta.inject-api\2.0.1\jakarta.inject-api-2.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-os\2.1.2\smallrye-common-os-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-ide-launcher\3.5.0\quarkus-ide-launcher-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-development-mode-spi\3.5.0\quarkus-development-mode-spi-3.5.0.jar;C:\Users\mnp\.m2\repository\org\jboss\logging\jboss-logging\3.5.3.Final\jboss-logging-3.5.3.Final.jar;C:\Users\mnp\.m2\repository\org\jboss\logmanager\jboss-logmanager\3.0.2.Final\jboss-logmanager-3.0.2.Final.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-cpu\2.1.2\smallrye-common-cpu-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-expression\2.1.2\smallrye-common-expression-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-function\2.1.2\smallrye-common-function-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-net\2.1.2\smallrye-common-net-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-ref\2.1.2\smallrye-common-ref-2.1.2.jar;C:\Users\mnp\.m2\repository\org\jboss\logging\jboss-logging-annotations\2.2.1.Final\jboss-logging-annotations-2.2.1.Final.jar;C:\Users\mnp\.m2\repository\org\jboss\threads\jboss-threads\3.5.0.Final\jboss-threads-3.5.0.Final.jar;C:\Users\mnp\.m2\repository\org\slf4j\slf4j-api\2.0.6\slf4j-api-2.0.6.jar;C:\Users\mnp\.m2\repository\org\jboss\slf4j\slf4j-jboss-logmanager\2.0.0.Final\slf4j-jboss-logmanager-2.0.0.Final.jar;C:\Users\mnp\.m2\repository\org\wildfly\common\wildfly-common\1.5.4.Final-format-001\wildfly-common-1.5.4.Final-format-001.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-bootstrap-runner\3.5.0\quarkus-bootstrap-runner-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-io\2.1.2\smallrye-common-io-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-fs-util\0.0.9\quarkus-fs-util-0.0.9.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\config\microprofile-config-api\3.0.3\microprofile-config-api-3.0.3.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-openapi\3.5.0\quarkus-smallrye-openapi-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-open-api-core\3.6.2\smallrye-open-api-core-3.6.2.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\openapi\microprofile-openapi-api\3.1.1\microprofile-openapi-api-3.1.1.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.15.2\jackson-core-2.15.2.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.15.2\jackson-databind-2.15.2.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.15.2\jackson-annotations-2.15.2.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.15.2\jackson-dataformat-yaml-2.15.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\jandex\3.1.5\jandex-3.1.5.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-vertx-http\3.5.0\quarkus-vertx-http-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-security-runtime-spi\3.5.0\quarkus-security-runtime-spi-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-credentials\3.5.0\quarkus-credentials-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-mutiny\3.5.0\quarkus-mutiny-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\mutiny\2.5.1\mutiny-2.5.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-context-propagation\3.5.0\quarkus-smallrye-context-propagation-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-context-propagation\2.1.0\smallrye-context-propagation-2.1.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-context-propagation-api\2.1.0\smallrye-context-propagation-api-2.1.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-context-propagation-storage\2.1.0\smallrye-context-propagation-storage-2.1.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\mutiny-smallrye-context-propagation\2.5.1\mutiny-smallrye-context-propagation-2.5.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-vertx-context\2.1.2\smallrye-common-vertx-context-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\security\quarkus-security\2.0.2.Final\quarkus-security-2.0.2.Final.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-vertx\3.5.0\quarkus-vertx-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-netty\3.5.0\quarkus-netty-3.5.0.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec\4.1.100.Final\netty-codec-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\com\aayushatharva\brotli4j\brotli4j\1.12.0\brotli4j-1.12.0.jar;C:\Users\mnp\.m2\repository\com\aayushatharva\brotli4j\service\1.12.0\service-1.12.0.jar;C:\Users\mnp\.m2\repository\com\aayushatharva\brotli4j\native-windows-x86_64\1.12.0\native-windows-x86_64-1.12.0.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-haproxy\4.1.100.Final\netty-codec-haproxy-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-annotation\2.1.2\smallrye-common-annotation-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-vertx-latebound-mdc-provider\3.5.0\quarkus-vertx-latebound-mdc-provider-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-fault-tolerance-vertx\6.2.6\smallrye-fault-tolerance-vertx-6.2.6.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-web\3.6.0\smallrye-mutiny-vertx-web-3.6.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-web-common\3.6.0\smallrye-mutiny-vertx-web-common-3.6.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-auth-common\3.6.0\smallrye-mutiny-vertx-auth-common-3.6.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-bridge-common\3.6.0\smallrye-mutiny-vertx-bridge-common-3.6.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-uri-template\3.6.0\smallrye-mutiny-vertx-uri-template-3.6.0.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-uri-template\4.4.5\vertx-uri-template-4.4.5.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-web\4.4.5\vertx-web-4.4.5.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-web-common\4.4.5\vertx-web-common-4.4.5.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-auth-common\4.4.5\vertx-auth-common-4.4.5.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-bridge-common\4.4.5\vertx-bridge-common-4.4.5.jar;C:\Users\mnp\.m2\repository\io\github\crac\org-crac\0.1.3\org-crac-0.1.3.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-arc\3.5.0\quarkus-arc-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\arc\arc\3.5.0\arc-3.5.0.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\context-propagation\microprofile-context-propagation-api\1.3\microprofile-context-propagation-api-1.3.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-swagger-ui\3.5.0\quarkus-swagger-ui-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-health\3.5.0\quarkus-smallrye-health-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-health\4.0.4\smallrye-health-4.0.4.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\health\microprofile-health-api\4.0.1\microprofile-health-api-4.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-health-api\4.0.4\smallrye-health-api-4.0.4.jar;C:\Users\mnp\.m2\repository\jakarta\json\jakarta.json-api\2.1.2\jakarta.json-api-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-health-provided-checks\4.0.4\smallrye-health-provided-checks-4.0.4.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-jsonp\3.5.0\quarkus-jsonp-3.5.0.jar;C:\Users\mnp\.m2\repository\org\eclipse\parsson\parsson\1.1.4\parsson-1.1.4.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-metrics\3.5.0\quarkus-smallrye-metrics-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-metrics\4.0.0\smallrye-metrics-4.0.0.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\metrics\microprofile-metrics-api\4.0.1\microprofile-metrics-api-4.0.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-hibernate-validator\3.5.0\quarkus-hibernate-validator-3.5.0.jar;C:\Users\mnp\.m2\repository\org\hibernate\validator\hibernate-validator\8.0.1.Final\hibernate-validator-8.0.1.Final.jar;C:\Users\mnp\.m2\repository\jakarta\validation\jakarta.validation-api\3.0.2\jakarta.validation-api-3.0.2.jar;C:\Users\mnp\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\mnp\.m2\repository\org\glassfish\expressly\expressly\5.0.0\expressly-5.0.0.jar;C:\Users\mnp\.m2\repository\jakarta\el\jakarta.el-api\5.0.1\jakarta.el-api-5.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config-validator\3.4.1\smallrye-config-validator-3.4.1.jar;C:\Users\mnp\.m2\repository\jakarta\ws\rs\jakarta.ws.rs-api\3.1.0\jakarta.ws.rs-api-3.1.0.jar;C:\workspaces\toryu\ide-launch-test\ide-launch-test-service\target\classes;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-rest-client-reactive-jackson\3.5.0\quarkus-rest-client-reactive-jackson-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-rest-client-reactive\3.5.0\quarkus-rest-client-reactive-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-jaxrs-client-reactive\3.5.0\quarkus-jaxrs-client-reactive-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-client\3.5.0\resteasy-reactive-client-3.5.0.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-web-client\4.4.5\vertx-web-client-4.4.5.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-stork\3.5.0\quarkus-smallrye-stork-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-rest-client-config\3.5.0\quarkus-rest-client-config-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\stork\stork-api\2.3.1\stork-api-2.3.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\stork\stork-core\2.3.1\stork-core-2.3.1.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\rest\client\microprofile-rest-client-api\3.0.1\microprofile-rest-client-api-3.0.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-hibernate-orm\3.5.0\quarkus-hibernate-orm-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-agroal\3.5.0\quarkus-agroal-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-datasource\3.5.0\quarkus-datasource-3.5.0.jar;C:\Users\mnp\.m2\repository\io\agroal\agroal-api\2.1\agroal-api-2.1.jar;C:\Users\mnp\.m2\repository\io\agroal\agroal-narayana\2.1\agroal-narayana-2.1.jar;C:\Users\mnp\.m2\repository\org\jboss\jboss-transaction-spi\8.0.0.Final\jboss-transaction-spi-8.0.0.Final.jar;C:\Users\mnp\.m2\repository\io\agroal\agroal-pool\2.1\agroal-pool-2.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-narayana-jta\3.5.0\quarkus-narayana-jta-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-transaction-annotations\3.5.0\quarkus-transaction-annotations-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-datasource-common\3.5.0\quarkus-datasource-common-3.5.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-context-propagation-jta\2.1.0\smallrye-context-propagation-jta-2.1.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-reactive-converter-api\3.0.1\smallrye-reactive-converter-api-3.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-reactive-converter-mutiny\3.0.1\smallrye-reactive-converter-mutiny-3.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\mutiny-zero-flow-adapters\1.0.0\mutiny-zero-flow-adapters-1.0.0.jar;C:\Users\mnp\.m2\repository\org\jboss\narayana\jta\narayana-jta\7.0.0.Final\narayana-jta-7.0.0.Final.jar;C:\Users\mnp\.m2\repository\jakarta\resource\jakarta.resource-api\2.1.0\jakarta.resource-api-2.1.0.jar;C:\Users\mnp\.m2\repository\org\jboss\invocation\jboss-invocation\2.0.0.Final\jboss-invocation-2.0.0.Final.jar;C:\Users\mnp\.m2\repository\jakarta\ejb\jakarta.ejb-api\4.0.1\jakarta.ejb-api-4.0.1.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\reactive-streams-operators\microprofile-reactive-streams-operators-api\3.0\microprofile-reactive-streams-operators-api-3.0.jar;C:\Users\mnp\.m2\repository\org\jboss\narayana\jts\narayana-jts-integration\7.0.0.Final\narayana-jts-integration-7.0.0.Final.jar;C:\Users\mnp\.m2\repository\org\hibernate\orm\hibernate-core\6.2.13.Final\hibernate-core-6.2.13.Final.jar;C:\Users\mnp\.m2\repository\org\antlr\antlr4-runtime\4.10.1\antlr4-runtime-4.10.1.jar;C:\Users\mnp\.m2\repository\net\bytebuddy\byte-buddy\1.14.7\byte-buddy-1.14.7.jar;C:\Users\mnp\.m2\repository\org\hibernate\common\hibernate-commons-annotations\6.0.6.Final\hibernate-commons-annotations-6.0.6.Final.jar;C:\Users\mnp\.m2\repository\org\hibernate\orm\hibernate-graalvm\6.2.13.Final\hibernate-graalvm-6.2.13.Final.jar;C:\Users\mnp\.m2\repository\org\glassfish\jaxb\jaxb-runtime\4.0.3\jaxb-runtime-4.0.3.jar;C:\Users\mnp\.m2\repository\org\glassfish\jaxb\jaxb-core\4.0.3\jaxb-core-4.0.3.jar;C:\Users\mnp\.m2\repository\org\eclipse\angus\angus-activation\2.0.1\angus-activation-2.0.1.jar;C:\Users\mnp\.m2\repository\org\glassfish\jaxb\txw2\4.0.3\txw2-4.0.3.jar;C:\Users\mnp\.m2\repository\com\sun\istack\istack-commons-runtime\4.1.2\istack-commons-runtime-4.1.2.jar;C:\Users\mnp\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\4.0.1\jakarta.xml.bind-api-4.0.1.jar;C:\Users\mnp\.m2\repository\jakarta\activation\jakarta.activation-api\2.1.2\jakarta.activation-api-2.1.2.jar;C:\Users\mnp\.m2\repository\jakarta\persistence\jakarta.persistence-api\3.1.0\jakarta.persistence-api-3.1.0.jar;C:\Users\mnp\.m2\repository\jakarta\transaction\jakarta.transaction-api\2.0.1\jakarta.transaction-api-2.0.1.jar;C:\Users\mnp\.m2\repository\org\hibernate\quarkus-local-cache\0.2.1\quarkus-local-cache-0.2.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-caffeine\3.5.0\quarkus-caffeine-3.5.0.jar;C:\Users\mnp\.m2\repository\com\github\ben-manes\caffeine\caffeine\3.1.5\caffeine-3.1.5.jar;C:\Users\mnp\.m2\repository\com\google\errorprone\error_prone_annotations\2.22.0\error_prone_annotations-2.22.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-jdbc-postgresql\3.5.0\quarkus-jdbc-postgresql-3.5.0.jar;C:\Users\mnp\.m2\repository\org\postgresql\postgresql\42.6.0\postgresql-42.6.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-scheduler\3.5.0\quarkus-scheduler-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-scheduler-kotlin\3.5.0\quarkus-scheduler-kotlin-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-scheduler-common\3.5.0\quarkus-scheduler-common-3.5.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-scheduler-api\3.5.0\quarkus-scheduler-api-3.5.0.jar;C:\Users\mnp\.m2\repository\com\cronutils\cron-utils\9.2.1\cron-utils-9.2.1.jar com.acme.rest.Main
Press [e] to edit command line args (currently ''), [h] for more options>
Tests paused
Press [e] to edit command line args (currently ''), [r] to resume testing, [h] for more options>
Press [e] to edit command line args (currently ''), [r] to resume testing, [o] Toggle test output, [h] for more options>
2023-12-06 07:39:31,400 WARN  [io.qua.hib.orm.dep.HibernateOrmProcessor] (build-2) Hibernate ORM is disabled because no JPA entities were found
2023-12-06 07:39:32,234 INFO  [org.tes.doc.DockerClientProviderStrategy] (build-72) Loaded org.testcontainers.dockerclient.NpipeSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
2023-12-06 07:39:32,251 INFO  [org.tes.doc.DockerMachineClientProviderStrategy] (build-72) docker-machine executable was not found on PATH ([C:\windows\system32, C:\windows, C:\windows\System32\Wbem, C:\windows\System32\WindowsPowerShell\v1.0\, C:\windows\System32\OpenSSH\, C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common, C:\WINDOWS\system32, C:\WINDOWS, C:\WINDOWS\System32\Wbem, C:\WINDOWS\System32\WindowsPowerShell\v1.0\, C:\WINDOWS\System32\OpenSSH\, C:\ProgramData\chocolatey\bin, C:\Program Files\TortoiseSVN\bin, %Programfiles%\Tools\Gopass\, C:\Program Files\Git\cmd, C:\Program Files (x86)\Gpg4win\..\GnuPG\bin, C:\Program Files\Docker\Docker\resources\bin, C:\Program Files\TortoiseGit\bin, C:\Users\mnp\.jbang\bin, C:\Users\mnp\AppData\Local\Microsoft\WindowsApps, C:\eclipse\tools\java\maven\bin, C:\eclipse\tools\java\21\bin, C:\Users\mnp\AppData\Local\JetBrains\Toolbox\scripts, C:\eclipse\tools\java\mvnd\bin])
2023-12-06 07:39:32,262 ERROR [org.tes.doc.DockerClientProviderStrategy] (build-72) Could not find a valid Docker environment. Please check configuration. Attempted configurations were:
As no valid configuration was found, execution cannot continue.
See https://java.testcontainers.org/on_failure.html for more details.
2023-12-06 07:39:32,951 WARN  [io.qua.run.uti.ContainerRuntimeUtil] (build-72) Command "docker info" exited with error code 1. Rootless container runtime detection might not be reliable or the container service is not running at all.
2023-12-06 07:39:32,972 INFO  [org.tes.uti.ImageNameSubstitutor] (build-72) Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
2023-12-06 07:39:32,996 INFO  [io.qua.dep.dev.IsolatedDevModeMain] (main) Attempting to start live reload endpoint to recover from previous Quarkus startup failure
Exception in thread "main" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at io.quarkus.launcher.QuarkusLauncher.launch(QuarkusLauncher.java:58)
    at io.quarkus.runtime.Quarkus.launchFromIDE(Quarkus.java:101)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:88)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:44)
    at io.quarkus.runtime.Quarkus.run(Quarkus.java:124)
    at com.acme.rest.Main.main(Main.java:9)
Caused by: java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:118)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at io.quarkus.launcher.QuarkusLauncher.launch(QuarkusLauncher.java:56)
    ... 5 more
Caused by: java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor
    at io.smallrye.config.ConfigMappingInterface.getClassBytes(ConfigMappingInterface.java:177)
    at io.smallrye.config.ConfigMappingLoader.loadClass(ConfigMappingLoader.java:109)
    at io.smallrye.config.ConfigMappingLoader.getImplementationClass(ConfigMappingLoader.java:90)
    at io.smallrye.config.ConfigMappingLoader$1.computeValue(ConfigMappingLoader.java:22)
    at io.smallrye.config.ConfigMappingLoader$1.computeValue(ConfigMappingLoader.java:19)
    at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:229)
    at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:211)
    at java.base/java.lang.ClassValue.get(ClassValue.java:117)
    at io.smallrye.config.ConfigMappingLoader.configMappingObject(ConfigMappingLoader.java:63)
    at io.smallrye.config.ConfigMappingContext.constructGroup(ConfigMappingContext.java:82)
    at io.smallrye.config.ConfigMappingContext.constructRoot(ConfigMappingContext.java:78)
    at io.smallrye.config.ConfigMappingProvider.mapConfigurationInternal(ConfigMappingProvider.java:980)
    at io.smallrye.config.ConfigMappingProvider.lambda$mapConfiguration$3(ConfigMappingProvider.java:962)
    at io.smallrye.config.SecretKeys.doUnlocked(SecretKeys.java:28)
    at io.smallrye.config.ConfigMappingProvider.mapConfiguration(ConfigMappingProvider.java:962)
    at io.smallrye.config.ConfigMappings.mapConfiguration(ConfigMappings.java:91)
    at io.smallrye.config.SmallRyeConfigBuilder.build(SmallRyeConfigBuilder.java:699)
    at io.quarkus.vertx.http.runtime.VertxHttpRecorder.startServerAfterFailedStart(VertxHttpRecorder.java:236)
    at io.quarkus.vertx.http.runtime.devmode.VertxHttpHotReplacementSetup.handleFailedInitialStart(VertxHttpHotReplacementSetup.java:62)
    at io.quarkus.deployment.dev.RuntimeUpdatesProcessor.startupFailed(RuntimeUpdatesProcessor.java:1150)
    at io.quarkus.deployment.dev.IsolatedDevModeMain.firstStart(IsolatedDevModeMain.java:146)
    at io.quarkus.deployment.dev.IsolatedDevModeMain.accept(IsolatedDevModeMain.java:438)
    at io.quarkus.deployment.dev.IDEDevModeMain.accept(IDEDevModeMain.java:71)
    at io.quarkus.deployment.dev.IDEDevModeMain.accept(IDEDevModeMain.java:28)
    at io.quarkus.bootstrap.app.CuratedApplication.runInCl(CuratedApplication.java:138)
    at io.quarkus.bootstrap.app.CuratedApplication.runInAugmentClassLoader(CuratedApplication.java:93)
    at io.quarkus.bootstrap.IDELauncherImpl.launch(IDELauncherImpl.java:93)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
    ... 7 more
Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor
    at io.quarkus.launcher.RuntimeLaunchClassLoader.findClass(RuntimeLaunchClassLoader.java:25)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
    at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:516)
    at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:466)
    ... 35 more

Process finished with exit code 130

How to Reproduce?

Reproducer: ide-launch-test.zip

  1. import in idea
  2. first, lets try to start using terminal.
  3. mvn clean compile quarkus:dev -> starts without problem
  4. Now, lets try to start the main class using idea
  5. Navigate into ide-lauinch-test-web/src/main/com/acme/rest. Open the Main class
  6. Execute the main method.
  7. CNFE from above is thrown. Quarkus is not started

Output of uname -a or ver

MINGW64_NT-10.0-19045 NANBCHL9NG3 3.3.6-341.x86_64 2022-09-05 20:28 UTC x86_64 Msys

Output of java -version

openjdk 21.0.1 2023-10-17 LTS OpenJDK Runtime Environment Temurin-21.0.1+12 (build 21.0.1+12-LTS) OpenJDK 64-Bit Server VM Temurin-21.0.1+12 (build 21.0.1+12-LTS, mixed mode, sharing)

Quarkus version or git rev

3.5.0, 3.6.1

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537) Maven home: C:\eclipse\tools\java\maven Java version: 21.0.1, vendor: Eclipse Adoptium, runtime: C:\eclipse\tools\java\21 Default locale: de_DE, platform encoding: UTF-8 OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

Additional information

No response

quarkus-bot[bot] commented 9 months ago

/cc @evanchooly (kotlin), @geoand (kotlin), @maxandersen (jbang), @quarkusio/devtools (jbang)

geoand commented 9 months ago

I can't reproduce this when launching on IntelliJ

Postremus commented 9 months ago

It now also works for me. I just updated today to Idea 2023.3, maybe that helped?

geoand commented 9 months ago

Very likely

Postremus commented 9 months ago

Can still reproduce in my real application, will test this out more later..

Postremus commented 9 months ago
C:\eclipse\tools\java\21\bin\java.exe "-javaagent:C:\Users\mnp\AppData\Local\Programs\IntelliJ IDEA Ultimate\lib\idea_rt.jar=51678:C:\Users\mnp\AppData\Local\Programs\IntelliJ IDEA Ultimate\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\workspaces\toryu\ide-launch-test\ide-launch-test-web\target\classes;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-config-yaml\3.6.1\quarkus-config-yaml-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config-source-yaml\3.4.4\smallrye-config-source-yaml-3.4.4.jar;C:\Users\mnp\.m2\repository\org\yaml\snakeyaml\2.2\snakeyaml-2.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config-common\3.4.4\smallrye-config-common-3.4.4.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-classloader\2.1.2\smallrye-common-classloader-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config\3.4.4\smallrye-config-3.4.4.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config-core\3.4.4\smallrye-config-core-3.4.4.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-constraint\2.1.2\smallrye-common-constraint-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-core\3.6.1\quarkus-core-3.6.1.jar;C:\Users\mnp\.m2\repository\jakarta\annotation\jakarta.annotation-api\2.1.1\jakarta.annotation-api-2.1.1.jar;C:\Users\mnp\.m2\repository\jakarta\enterprise\jakarta.enterprise.cdi-api\4.0.1\jakarta.enterprise.cdi-api-4.0.1.jar;C:\Users\mnp\.m2\repository\jakarta\enterprise\jakarta.enterprise.lang-model\4.0.1\jakarta.enterprise.lang-model-4.0.1.jar;C:\Users\mnp\.m2\repository\jakarta\interceptor\jakarta.interceptor-api\2.1.0\jakarta.interceptor-api-2.1.0.jar;C:\Users\mnp\.m2\repository\jakarta\inject\jakarta.inject-api\2.0.1\jakarta.inject-api-2.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-os\2.1.2\smallrye-common-os-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-ide-launcher\3.6.1\quarkus-ide-launcher-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-development-mode-spi\3.6.1\quarkus-development-mode-spi-3.6.1.jar;C:\Users\mnp\.m2\repository\org\jboss\logging\jboss-logging\3.5.3.Final\jboss-logging-3.5.3.Final.jar;C:\Users\mnp\.m2\repository\org\jboss\logmanager\jboss-logmanager\3.0.2.Final\jboss-logmanager-3.0.2.Final.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-cpu\2.1.2\smallrye-common-cpu-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-expression\2.1.2\smallrye-common-expression-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-function\2.1.2\smallrye-common-function-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-net\2.1.2\smallrye-common-net-2.1.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-ref\2.1.2\smallrye-common-ref-2.1.2.jar;C:\Users\mnp\.m2\repository\org\jboss\logging\jboss-logging-annotations\2.2.1.Final\jboss-logging-annotations-2.2.1.Final.jar;C:\Users\mnp\.m2\repository\org\jboss\threads\jboss-threads\3.5.1.Final\jboss-threads-3.5.1.Final.jar;C:\Users\mnp\.m2\repository\org\slf4j\slf4j-api\2.0.6\slf4j-api-2.0.6.jar;C:\Users\mnp\.m2\repository\org\jboss\slf4j\slf4j-jboss-logmanager\2.0.0.Final\slf4j-jboss-logmanager-2.0.0.Final.jar;C:\Users\mnp\.m2\repository\org\wildfly\common\wildfly-common\1.7.0.Final\wildfly-common-1.7.0.Final.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-bootstrap-runner\3.6.1\quarkus-bootstrap-runner-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-io\2.1.2\smallrye-common-io-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-fs-util\0.0.9\quarkus-fs-util-0.0.9.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\config\microprofile-config-api\3.0.3\microprofile-config-api-3.0.3.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-openapi\3.6.1\quarkus-smallrye-openapi-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-open-api-core\3.7.0\smallrye-open-api-core-3.7.0.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\openapi\microprofile-openapi-api\3.1.1\microprofile-openapi-api-3.1.1.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.15.3\jackson-core-2.15.3.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.15.3\jackson-databind-2.15.3.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.15.3\jackson-annotations-2.15.3.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.15.3\jackson-dataformat-yaml-2.15.3.jar;C:\Users\mnp\.m2\repository\io\smallrye\jandex\3.1.6\jandex-3.1.6.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-vertx-http\3.6.1\quarkus-vertx-http-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-security-runtime-spi\3.6.1\quarkus-security-runtime-spi-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-credentials\3.6.1\quarkus-credentials-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-mutiny\3.6.1\quarkus-mutiny-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\mutiny\2.5.1\mutiny-2.5.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-context-propagation\3.6.1\quarkus-smallrye-context-propagation-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-context-propagation\2.1.0\smallrye-context-propagation-2.1.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-context-propagation-api\2.1.0\smallrye-context-propagation-api-2.1.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-context-propagation-storage\2.1.0\smallrye-context-propagation-storage-2.1.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\mutiny-smallrye-context-propagation\2.5.1\mutiny-smallrye-context-propagation-2.5.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-vertx-context\2.1.2\smallrye-common-vertx-context-2.1.2.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-core\4.4.6\vertx-core-4.4.6.jar;C:\Users\mnp\.m2\repository\io\netty\netty-common\4.1.100.Final\netty-common-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-buffer\4.1.100.Final\netty-buffer-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-transport\4.1.100.Final\netty-transport-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-handler\4.1.100.Final\netty-handler-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.100.Final\netty-transport-native-unix-common-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-handler-proxy\4.1.100.Final\netty-handler-proxy-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-socks\4.1.100.Final\netty-codec-socks-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-http\4.1.100.Final\netty-codec-http-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-http2\4.1.100.Final\netty-codec-http2-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-resolver\4.1.100.Final\netty-resolver-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-resolver-dns\4.1.100.Final\netty-resolver-dns-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-dns\4.1.100.Final\netty-codec-dns-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\quarkus\security\quarkus-security\2.0.2.Final\quarkus-security-2.0.2.Final.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-vertx\3.6.1\quarkus-vertx-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-netty\3.6.1\quarkus-netty-3.6.1.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec\4.1.100.Final\netty-codec-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\com\aayushatharva\brotli4j\brotli4j\1.12.0\brotli4j-1.12.0.jar;C:\Users\mnp\.m2\repository\com\aayushatharva\brotli4j\service\1.12.0\service-1.12.0.jar;C:\Users\mnp\.m2\repository\com\aayushatharva\brotli4j\native-windows-x86_64\1.12.0\native-windows-x86_64-1.12.0.jar;C:\Users\mnp\.m2\repository\io\netty\netty-codec-haproxy\4.1.100.Final\netty-codec-haproxy-4.1.100.Final.jar;C:\Users\mnp\.m2\repository\io\smallrye\common\smallrye-common-annotation\2.1.2\smallrye-common-annotation-2.1.2.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-vertx-latebound-mdc-provider\3.6.1\quarkus-vertx-latebound-mdc-provider-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-core\3.7.2\smallrye-mutiny-vertx-core-3.7.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-runtime\3.7.2\smallrye-mutiny-vertx-runtime-3.7.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\vertx-mutiny-generator\3.7.2\vertx-mutiny-generator-3.7.2.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-codegen\4.4.6\vertx-codegen-4.4.6.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-fault-tolerance-vertx\6.2.6\smallrye-fault-tolerance-vertx-6.2.6.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-web\3.7.2\smallrye-mutiny-vertx-web-3.7.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-web-common\3.7.2\smallrye-mutiny-vertx-web-common-3.7.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-auth-common\3.7.2\smallrye-mutiny-vertx-auth-common-3.7.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-bridge-common\3.7.2\smallrye-mutiny-vertx-bridge-common-3.7.2.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-mutiny-vertx-uri-template\3.7.2\smallrye-mutiny-vertx-uri-template-3.7.2.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-uri-template\4.4.6\vertx-uri-template-4.4.6.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-web\4.4.6\vertx-web-4.4.6.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-web-common\4.4.6\vertx-web-common-4.4.6.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-auth-common\4.4.6\vertx-auth-common-4.4.6.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-bridge-common\4.4.6\vertx-bridge-common-4.4.6.jar;C:\Users\mnp\.m2\repository\io\github\crac\org-crac\0.1.3\org-crac-0.1.3.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-arc\3.6.1\quarkus-arc-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\arc\arc\3.6.1\arc-3.6.1.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\context-propagation\microprofile-context-propagation-api\1.3\microprofile-context-propagation-api-1.3.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-swagger-ui\3.6.1\quarkus-swagger-ui-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-health\3.6.1\quarkus-smallrye-health-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-health\4.0.4\smallrye-health-4.0.4.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\health\microprofile-health-api\4.0.1\microprofile-health-api-4.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-health-api\4.0.4\smallrye-health-api-4.0.4.jar;C:\Users\mnp\.m2\repository\jakarta\json\jakarta.json-api\2.1.3\jakarta.json-api-2.1.3.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-health-provided-checks\4.0.4\smallrye-health-provided-checks-4.0.4.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-jsonp\3.6.1\quarkus-jsonp-3.6.1.jar;C:\Users\mnp\.m2\repository\org\eclipse\parsson\parsson\1.1.5\parsson-1.1.5.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-metrics\3.6.1\quarkus-smallrye-metrics-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-metrics\4.0.0\smallrye-metrics-4.0.0.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\metrics\microprofile-metrics-api\4.0.1\microprofile-metrics-api-4.0.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-hibernate-validator\3.6.1\quarkus-hibernate-validator-3.6.1.jar;C:\Users\mnp\.m2\repository\org\hibernate\validator\hibernate-validator\8.0.1.Final\hibernate-validator-8.0.1.Final.jar;C:\Users\mnp\.m2\repository\jakarta\validation\jakarta.validation-api\3.0.2\jakarta.validation-api-3.0.2.jar;C:\Users\mnp\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\mnp\.m2\repository\org\glassfish\expressly\expressly\5.0.0\expressly-5.0.0.jar;C:\Users\mnp\.m2\repository\jakarta\el\jakarta.el-api\5.0.1\jakarta.el-api-5.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\config\smallrye-config-validator\3.4.4\smallrye-config-validator-3.4.4.jar;C:\Users\mnp\.m2\repository\jakarta\ws\rs\jakarta.ws.rs-api\3.1.0\jakarta.ws.rs-api-3.1.0.jar;C:\workspaces\toryu\ide-launch-test\ide-launch-test-service\target\classes;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-rest-client-reactive-jackson\3.6.1\quarkus-rest-client-reactive-jackson-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-jackson\3.6.1\resteasy-reactive-jackson-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive\3.6.1\resteasy-reactive-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-common\3.6.1\resteasy-reactive-common-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-common-types\3.6.1\resteasy-reactive-common-types-3.6.1.jar;C:\Users\mnp\.m2\repository\org\jboss\logging\commons-logging-jboss-logging\1.0.0.Final\commons-logging-jboss-logging-1.0.0.Final.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-resteasy-reactive-jackson-common\3.6.1\quarkus-resteasy-reactive-jackson-common-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-resteasy-reactive-common\3.6.1\quarkus-resteasy-reactive-common-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-jackson\3.6.1\quarkus-jackson-3.6.1.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.15.3\jackson-datatype-jsr310-2.15.3.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.15.3\jackson-datatype-jdk8-2.15.3.jar;C:\Users\mnp\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.15.3\jackson-module-parameter-names-2.15.3.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-rest-client-reactive\3.6.1\quarkus-rest-client-reactive-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-jaxrs-client-reactive\3.6.1\quarkus-jaxrs-client-reactive-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\resteasy\reactive\resteasy-reactive-client\3.6.1\resteasy-reactive-client-3.6.1.jar;C:\Users\mnp\.m2\repository\io\vertx\vertx-web-client\4.4.6\vertx-web-client-4.4.6.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-smallrye-stork\3.6.1\quarkus-smallrye-stork-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-rest-client-config\3.6.1\quarkus-rest-client-config-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\stork\stork-api\2.4.0\stork-api-2.4.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\stork\stork-core\2.4.0\stork-core-2.4.0.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\rest\client\microprofile-rest-client-api\3.0.1\microprofile-rest-client-api-3.0.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-hibernate-orm\3.6.1\quarkus-hibernate-orm-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-agroal\3.6.1\quarkus-agroal-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-datasource\3.6.1\quarkus-datasource-3.6.1.jar;C:\Users\mnp\.m2\repository\io\agroal\agroal-api\2.1\agroal-api-2.1.jar;C:\Users\mnp\.m2\repository\io\agroal\agroal-narayana\2.1\agroal-narayana-2.1.jar;C:\Users\mnp\.m2\repository\org\jboss\jboss-transaction-spi\8.0.0.Final\jboss-transaction-spi-8.0.0.Final.jar;C:\Users\mnp\.m2\repository\io\agroal\agroal-pool\2.1\agroal-pool-2.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-narayana-jta\3.6.1\quarkus-narayana-jta-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-transaction-annotations\3.6.1\quarkus-transaction-annotations-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-datasource-common\3.6.1\quarkus-datasource-common-3.6.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\smallrye-context-propagation-jta\2.1.0\smallrye-context-propagation-jta-2.1.0.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-reactive-converter-api\3.0.1\smallrye-reactive-converter-api-3.0.1.jar;C:\Users\mnp\.m2\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\smallrye-reactive-converter-mutiny\3.0.1\smallrye-reactive-converter-mutiny-3.0.1.jar;C:\Users\mnp\.m2\repository\io\smallrye\reactive\mutiny-zero-flow-adapters\1.0.0\mutiny-zero-flow-adapters-1.0.0.jar;C:\Users\mnp\.m2\repository\org\jboss\narayana\jta\narayana-jta\7.0.0.Final\narayana-jta-7.0.0.Final.jar;C:\Users\mnp\.m2\repository\jakarta\resource\jakarta.resource-api\2.1.0\jakarta.resource-api-2.1.0.jar;C:\Users\mnp\.m2\repository\org\jboss\invocation\jboss-invocation\2.0.0.Final\jboss-invocation-2.0.0.Final.jar;C:\Users\mnp\.m2\repository\org\eclipse\microprofile\reactive-streams-operators\microprofile-reactive-streams-operators-api\3.0\microprofile-reactive-streams-operators-api-3.0.jar;C:\Users\mnp\.m2\repository\org\jboss\narayana\jts\narayana-jts-integration\7.0.0.Final\narayana-jts-integration-7.0.0.Final.jar;C:\Users\mnp\.m2\repository\org\hibernate\orm\hibernate-core\6.2.13.Final\hibernate-core-6.2.13.Final.jar;C:\Users\mnp\.m2\repository\org\antlr\antlr4-runtime\4.10.1\antlr4-runtime-4.10.1.jar;C:\Users\mnp\.m2\repository\net\bytebuddy\byte-buddy\1.14.7\byte-buddy-1.14.7.jar;C:\Users\mnp\.m2\repository\org\hibernate\common\hibernate-commons-annotations\6.0.6.Final\hibernate-commons-annotations-6.0.6.Final.jar;C:\Users\mnp\.m2\repository\org\hibernate\orm\hibernate-graalvm\6.2.13.Final\hibernate-graalvm-6.2.13.Final.jar;C:\Users\mnp\.m2\repository\org\glassfish\jaxb\jaxb-runtime\4.0.4\jaxb-runtime-4.0.4.jar;C:\Users\mnp\.m2\repository\org\glassfish\jaxb\jaxb-core\4.0.4\jaxb-core-4.0.4.jar;C:\Users\mnp\.m2\repository\org\eclipse\angus\angus-activation\2.0.1\angus-activation-2.0.1.jar;C:\Users\mnp\.m2\repository\org\glassfish\jaxb\txw2\4.0.4\txw2-4.0.4.jar;C:\Users\mnp\.m2\repository\com\sun\istack\istack-commons-runtime\4.1.2\istack-commons-runtime-4.1.2.jar;C:\Users\mnp\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\4.0.1\jakarta.xml.bind-api-4.0.1.jar;C:\Users\mnp\.m2\repository\jakarta\activation\jakarta.activation-api\2.1.2\jakarta.activation-api-2.1.2.jar;C:\Users\mnp\.m2\repository\jakarta\persistence\jakarta.persistence-api\3.1.0\jakarta.persistence-api-3.1.0.jar;C:\Users\mnp\.m2\repository\jakarta\transaction\jakarta.transaction-api\2.0.1\jakarta.transaction-api-2.0.1.jar;C:\Users\mnp\.m2\repository\org\hibernate\quarkus-local-cache\0.2.1\quarkus-local-cache-0.2.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-caffeine\3.6.1\quarkus-caffeine-3.6.1.jar;C:\Users\mnp\.m2\repository\com\github\ben-manes\caffeine\caffeine\3.1.5\caffeine-3.1.5.jar;C:\Users\mnp\.m2\repository\com\google\errorprone\error_prone_annotations\2.22.0\error_prone_annotations-2.22.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-jdbc-postgresql\3.6.1\quarkus-jdbc-postgresql-3.6.1.jar;C:\Users\mnp\.m2\repository\org\postgresql\postgresql\42.6.0\postgresql-42.6.0.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-scheduler\3.6.1\quarkus-scheduler-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-scheduler-kotlin\3.6.1\quarkus-scheduler-kotlin-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-scheduler-common\3.6.1\quarkus-scheduler-common-3.6.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-scheduler-api\3.6.1\quarkus-scheduler-api-3.6.1.jar;C:\Users\mnp\.m2\repository\com\cronutils\cron-utils\9.2.1\cron-utils-9.2.1.jar;C:\Users\mnp\.m2\repository\io\quarkus\quarkus-virtual-threads\3.6.1\quarkus-virtual-threads-3.6.1.jar com.acme.rest.Main

Thats the command idea executes to launch my Main. asm is missing from it. I also can not see it as dependency of the -web module (where my main is located) with mvn dependency:tree.

asm is one of the parent first dependencies. But how is it added to the classpath when launched from ide?

Postremus commented 9 months ago

I have updated the reproducer in the op.

geoand commented 9 months ago

Still works for me

jlerebours commented 7 months ago

I have the same problem but with another class : mu.KLogger.

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal io.quarkus:quarkus-maven-plugin:3.6.6:build (default) on project custom-app: Failed to build quarkus application
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:53)
    at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:152)
    at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:76)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to build quarkus application
    at io.quarkus.maven.BuildMojo.doExecute (BuildMojo.java:178)
    at io.quarkus.maven.QuarkusBootstrapMojo.execute (QuarkusBootstrapMojo.java:171)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.apache.maven.wrapper.BootstrapMainStarter.start (BootstrapMainStarter.java:53)
    at org.apache.maven.wrapper.WrapperExecutor.execute (WrapperExecutor.java:152)
    at org.apache.maven.wrapper.MavenWrapperMain.main (MavenWrapperMain.java:76)
Caused by: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
    [error]: Build step io.quarkus.deployment.steps.ConfigGenerationBuildStep#generateMappings threw an exception: java.lang.NoClassDefFoundError: mu/KLogger
    at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
    at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3166)
    at java.base/java.lang.Class.getDeclaredMethods(Class.java:2309)
    at io.smallrye.config.ConfigMappingInterface.createConfigurationInterface(ConfigMappingInterface.java:728)
    at io.smallrye.config.ConfigMappingInterface$1.computeValue(ConfigMappingInterface.java:35)
    at io.smallrye.config.ConfigMappingInterface$1.computeValue(ConfigMappingInterface.java:33)
    at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:228)
    at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:210)
    at java.base/java.lang.ClassValue.get(ClassValue.java:116)
    at io.smallrye.config.ConfigMappingInterface.getConfigurationInterface(ConfigMappingInterface.java:82)
    at io.smallrye.config.ConfigMappingLoader.getConfigMappingsMetadata(ConfigMappingLoader.java:28)
    at io.quarkus.deployment.configuration.ConfigMappingUtils.processConfigClass(ConfigMappingUtils.java:99)
    at io.quarkus.deployment.configuration.ConfigMappingUtils.processConfigClasses(ConfigMappingUtils.java:63)
    at io.quarkus.deployment.configuration.ConfigMappingUtils.processConfigMapping(ConfigMappingUtils.java:73)
    at io.quarkus.deployment.steps.ConfigGenerationBuildStep.generateMappings(ConfigGenerationBuildStep.java:179)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.java:849)
    at io.quarkus.builder.BuildContext.run(BuildContext.java:256)
    at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
    at java.base/java.lang.Thread.run(Thread.java:829)
    at org.jboss.threads.JBossThread.run(JBossThread.java:501)
Caused by: java.lang.ClassNotFoundException: mu.KLogger
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
    at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:518)
    at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:468)
    at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:518)
    at io.quarkus.bootstrap.classloading.QuarkusClassLoader.loadClass(QuarkusClassLoader.java:468)
    ... 26 more

All working great on my dev laptop (either command line or idea) but for obscure reason not on our gitlab CI. I executed the exact same maven command on both. What is even stranger is that other artifacts are compiled without problem, only one is failing.

Using quarkus 3.6.6, java 11.0.16, maven 3.8.2

jlerebours commented 7 months ago

Just solved my problem in case this could help !

My class not found exception was due to some functions written inside an interface annotated with @ConfigMapping. No idea why there is a different behavior between local dev and CI but moving functions out of the class (in a companion object in my case since I'm in kotlin) did the job. I started by moving the logger function what triggered another class not found exception due to another function still in the interface. Moving all of the unnecessary functions out of the mapping interface solved it all.

Since you have the same stack as I had (with some ConfigMappingInterface appearing inside) I hope this can help !

micheljung commented 1 month ago

Thanks for the hint @jlerebours, I hoped this would be me issue, too.

For some stupid reason, I had:

@ConfigMapping(prefix = "com.example")
interface TestDataProperties {
  fun populate(): Boolean
}

Changed it to:

@ConfigMapping(prefix = "com.example")
interface TestDataProperties {
  var populate: Boolean
}

But nothing changed :(

micheljung commented 1 month ago

The issue can be reproduced if you're trying to inject a missing bean AND start via main class:

package com.example

import io.quarkus.runtime.Quarkus
import io.quarkus.runtime.annotations.QuarkusMain

@QuarkusMain
object Main {

  @JvmStatic
  fun main(args: Array<String>) {
    Quarkus.run(*args)
  }
}
package com.example

import jakarta.ws.rs.GET
import jakarta.ws.rs.Path
import jakarta.ws.rs.Produces
import jakarta.ws.rs.core.MediaType

@Path("/hello")
class ExampleResource(
    private val nonExistingBean: MyInterface
) {

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    fun hello() = "Hello from Quarkus REST"
}

interface MyInterface

Tested with Quarkus 3.13.2 and IntelliJ IDEA 2024.2.

Reproducer: quarkus-37555.zip

This might be related to https://github.com/quarkusio/quarkus/issues/39090