quarkusio / quarkus

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

Test error while building a Quarkus native. Project can't find dependencies on private maven repository #6067

Closed Boertie closed 4 years ago

Boertie commented 4 years ago

Describe the bug When the project is being build it finds all necessary dependencies to build the project. However, when it wants to run it's tests it tries to find the dependencies on maven central.

The logs show the following during the tests: Caused by: io.quarkus.bootstrap.resolver.AppModelResolverException: Failed to resolve dependencies for nl..service:****:jar:1.0.9-SNAPSHOT Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Could not find artifact nl..**:****:jar:1.0.8 in central (https://repo.maven.apache.org/maven2) Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact nl..**:****:jar:1.0.8 in central (https://repo.maven.apache.org/maven2) Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact nl..**:****:jar:1.0.8 in central

During the build: [INFO] Downloading from gitlab-maven: https://gitlab.*****..*****./api/v4/groups/.*****./-/packages/maven/.*****./.*****./.*****./.*****.-.*****.-.*****./1.0.8/.*****.-.*****.-.*****.-1.0.8.pom [INFO] Downloaded from gitlab-maven: https://gitlab..*****...*****./api/v4/groups/.*****./-/packages/maven/.*****./.*****./.*****./.*****.-.*****.-.*****./1.0.8/.*****.-.*****.-.*****.-1.0.8.pom (4.6 kB at 29 kB/s) [INFO] Downloaded from gitlab-maven: https://gitlab.*****.*****/api/v4/groups/*****/-/packages/maven/*****/*****/*****/*****-*****-*****/1.0.8/*****-*****-*****-1.0.8.jar (25 kB at 82 kB/s)

The settings.xml looks like the following:

<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
    <servers>
        <server>
            <id>gitlab-maven</id>
            <configuration>
                <httpHeaders>
                    <property>
                        <name>Job-Token</name>
                        <value>${env.CI_JOB_TOKEN}</value>
                    </property>
                </httpHeaders>
            </configuration>
        </server>
    </servers>
</settings>

The pom file has the following dependency management files:

    <repositories>
        <repository>
            <id>gitlab-maven</id>
            <url>https://gitlab..*****...*****./api/v4/groups/.*****./-/packages/maven</url>
        </repository>
    </repositories>
    <distributionManagement>
        <repository>
            <id>gitlab-maven</id>
            <url>https://gitlab.*****..*****./api/v4/projects/${env.CI_PROJECT_ID}/packages/maven</url>
        </repository>
        <snapshotRepository>
            <id>gitlab-maven</id>
            <url>https://gitlab..*****...*****./api/v4/projects/${env.CI_PROJECT_ID}/packages/maven</url>
        </snapshotRepository>
    </distributionManagement>

It seems like that the repos added to the distribution management in the pom.xml aren't taken into account during the tests.

Expected behavior The dependencies should be downloaded from the private Maven repository and the repos added to the distributed management should be taken into account.

Actual behavior It seems like the repos aren't taken into account.

To Reproduce Steps to reproduce the behavior: run

  1. 'mvn package -B -Pnative -Dquarkus.native.container-build=true -s settings.xml'

Configuration

# Add your application.properties here, if applicable.
not applicable

Environment (please complete the following information):

geoand commented 4 years ago

cc @aloubyansky

simonedavico commented 4 years ago

@Boertie did you find a workaround for this issue? Currently experiencing the same problem!

aloubyansky commented 4 years ago

I believe a possible workaround would be to build the project with -DskipTests first to make sure the local maven repo contains everything needed and then work as usual.

simonedavico commented 4 years ago

@aloubyansky unfortunately the problem occurs on the test job of a CI pipeline. My goal is exactly to be able to run the tests :)

aloubyansky commented 4 years ago

Ok, sure, that's pretty unfortunate. However, if we are talking about a workaround here, could the CI be configured to resolve all the project deps first (e.g. with dependency:resolve) and then run the tests?

simonedavico commented 4 years ago

Tried it, but the error persists unfortunately.

simonedavico commented 4 years ago

@aloubyansky would setting the property quarkus-bootstrap-offline as explained here help after dependency resolution? Something like:

mvn dependency:resolve
mvn -Dquarkus-bootstrap-offline=true test
aloubyansky commented 4 years ago

Oh, I don't think these properties are still supported in master. We should remove those docs. Anyway, maven's -o should be picked up by the test resolver. The dependencies that it fails to resolve, are they only test deps, not compile/runtime deps?

simonedavico commented 4 years ago

What is the version for master? I am running quarkus 1.2.0 currently.

The dependencies it fails to resolve are compile/runtime dependencies from a private repository (GitLab integrated repository). It looks like Quarkus it's trying to resolve the dependencies from central (and it's not published there, of course).

If I tell Quarkus to go offline for tests (the system property quarkus-bootstrap-offline seems to work for me), then it complains that it has not downloaded io.quarkus:quarkus-bom:pom:1.2.0.Final.

aloubyansky commented 4 years ago

Master is 1.3.0. That's interesting. Because to be able to resolve the deps, it must resolve the BOM first. As an experiment, could you try mvn compile -DskipTests and then mvn -Dquarkus-bootstrap-offline=true test?

simonedavico commented 4 years ago

Unfortunately nothing changes:

 org.junit.jupiter.api.extension.TestInstantiationException: TestInstanceFactory [io.quarkus.test.junit.QuarkusTestExtension] failed to instantiate test class [**.****.****.****.materials.controller.TestMaterialSelectionController]: Failed to create the boostrap class loader
 Caused by: java.lang.IllegalStateException: Failed to create the boostrap class loader
 Caused by: io.quarkus.bootstrap.BootstrapException: Failed to create the deployment classloader for **.****.****.****:material-rules-engine::jar:0.1.0
 Caused by: io.quarkus.bootstrap.resolver.AppModelResolverException: Failed to read descriptor of **.****.****.****:material-rules-engine:jar:0.1.0
 Caused by: org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for **.****.****.****:material-rules-engine:jar:0.1.0
 Caused by: org.apache.maven.model.resolution.UnresolvableModelException: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact io.quarkus:quarkus-bom:pom:1.2.1.Final has not been downloaded from it before.
 Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact io.quarkus:quarkus-bom:pom:1.2.1.Final has not been downloaded from it before.
 Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact io.quarkus:quarkus-bom:pom:1.2.1.Final has not been downloaded from it before.
 Caused by: org.eclipse.aether.transfer.RepositoryOfflineException: Cannot access central (https://repo.maven.apache.org/maven2) in offline mode

The commands I am running:

- mvn -s .m2/settings.xml -DincludeScope=runtime dependency:resolve'
- mvn -s .m2/settings.xml compile -DskipTests'
- mvn -s .m2/settings.xml -Dquarkus-bootstrap-offline=true test'

The definition of the private repository is in the local .m2/settings.xml passed to the commands. I am executing all commands in a maven:3-jdk-11 docker container.

I also tried to bump Quarkus to 1.2.1.Final, but nothing changed.

aloubyansky commented 4 years ago

Let's clarify the setup. The original description mentions both repositories and distributionManagement configs and says

It seems like that the repos added to the distribution management in the pom.xml aren't taken into account during the tests.

distributionManagement config is supposed to be used when deploying artifacts, right? Which shouldn't be related to the tests. Or am I missing something @Boertie?

@simonedavico could you please describe your setup? As I imagine, you have an active by default profile in your settings.xml that contains your private repos?

simonedavico commented 4 years ago

I have a settings.xml where I specify the private repository from which the dependency should be retrieved (no publishing, so I'm also quite sure distributionManagement is unrelated).

The thing I see in common between my setup and @Boertie's is that we both specify a custom settings file by calling mvn -s settings.xml.

aloubyansky commented 4 years ago

Thanks. And the repo is in an active profile, correct?

aloubyansky commented 4 years ago

Is it active by default or what triggers its activation?

simonedavico commented 4 years ago

There is no active profile set explicitly, nor I defined any profile. This is my settings.xml:

<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd"
    xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <pluginGroups>
    <pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
  </pluginGroups>

  <servers>
    <server>
      <id>gitlab-maven</id>
      <configuration>
        <httpHeaders>
          <property>
            <name>Private-Token</name>
            <value>********</value>
          </property>
        </httpHeaders>
      </configuration>
    </server>
  </servers>
</settings>
aloubyansky commented 4 years ago

Ok, that's the clue and what's also common with the original description. Thanks.

aloubyansky commented 4 years ago

While I'm trying to set up the env to be able to reproduce the issue, could you please try adding the following deps to your apps and run the CI?

    <dependency>
      <groupId>org.codehaus.plexus</groupId>
      <artifactId>plexus-utils</artifactId>
      <version>3.2.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <scope>test</scope>
      <version>3.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-model</artifactId>
      <scope>test</scope>
      <version>3.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-embedder</artifactId>
      <scope>test</scope>
      <version>3.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-settings-builder</artifactId>
      <scope>test</scope>
      <version>3.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-resolver-provider</artifactId>
      <scope>test</scope>
      <version>3.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.resolver</groupId>
      <artifactId>maven-resolver-connector-basic</artifactId>
      <scope>test</scope>
      <version>1.4.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.resolver</groupId>
      <artifactId>maven-resolver-transport-wagon</artifactId>
      <version>1.4.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-http</artifactId>
      <version>3.3.4</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.wagon</groupId>
      <artifactId>wagon-file</artifactId>
      <version>3.3.4</version>
      <scope>test</scope>
    </dependency>

This is basically upgrading the Maven resolver and the wagon stuff the bootstrap is using during the tests.

simonedavico commented 4 years ago

Tried, but I still have the same error:

 org.junit.jupiter.api.extension.TestInstantiationException: TestInstanceFactory [io.quarkus.test.junit.QuarkusTestExtension] failed to instantiate test class [**.****.*****.*****.materials.controller.TestMaterialSelectionController]: Failed to create the boostrap class loader
 Caused by: java.lang.IllegalStateException: Failed to create the boostrap class loader
 Caused by: io.quarkus.bootstrap.BootstrapException: Failed to create the deployment classloader for **.****.*****.*****:material-rules-engine::jar:0.1.0
 Caused by: io.quarkus.bootstrap.resolver.AppModelResolverException: Failed to resolve dependencies for **.****.*****.*****:material-rules-engine:jar:0.1.0
 Caused by: org.eclipse.aether.resolution.DependencyResolutionException: Could not find artifact **.****.*****.*****:droolsknowledge:jar:1.0.5-RC.122 in central (https://repo.maven.apache.org/maven2)
 Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not find artifact **.****.*****.*****:droolsknowledge:jar:1.0.5-RC.122 in central (https://repo.maven.apache.org/maven2)
 Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact **.****.*****.*****:droolsknowledge:jar:1.0.5-RC.122 in central (https://repo.maven.apache.org/maven2)

The command the CI runs is mvn --batch-mode -s .m2/settings.xml test.

aloubyansky commented 4 years ago

Thanks @simonedavico

aloubyansky commented 4 years ago

Unfortunately, I haven't been able to reproduce it yet. Here is how I tried to do that.

I can see my-lib being downloaded from Nexus and the tests pass. If I change the value of auth-user to a username that does not exist, the resolution will fail. Wondering what I'm missing. If you have other suggestions on how I can reproduce it, please advise.

It is failing to resolve a runtime or test dependency, correct? I guess, you are not building your own Quarkus extension and it's failing to resolve a deployment dependency. I am actually going to try that, because what I'm seeing is my-lib is being resolved by the Maven process and stored in my local repo. Then the tests pick it up from there. So the bootstrap resolver does not really need to download it.

aloubyansky commented 4 years ago

I was able to reproduce it by creating my own Quarkus extension and deploying it to Nexus. That way, its runtime artifact is resolved by the original Maven process and is cached in my local repo. But its deployment artifact has to be resolved by the Quarkus bootstrap resolver during the tests. And it indeed failed. However, there was a bug that I fixed yesterday and it also fixes the use-case that I described. It's a part of 1.3.0.CR2 release which is now available in central. @simonedavico is there a chance you can try it? Make sure you use quarkus-bom instead of quarkus-universe-bom in your app. quarkus-universe-bom hasn't been released yet.

simonedavico commented 4 years ago

Sure I can :) it should be enough to bump my quarkus.platform.version to 1.3.0.CR2, correct?

aloubyansky commented 4 years ago

And <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>. Also <quarkus-plugin.version>1.3.0.CR2</quarkus-plugin.version>, just in case.

aloubyansky commented 4 years ago

Unless you are using Camel extensions...

simonedavico commented 4 years ago

Unless you are using Camel extensions...

Nope :) I'll test ASAP and get back to you!

simonedavico commented 4 years ago

Sorry for not giving any feedback to you @aloubyansky, I'll try to get the test done within today!

chengkuangan commented 4 years ago

Hi, not sure this is related. I have the following error when I built through Jenkins pipelines and pointing to Nexus3. But the same build process works flawlessly when I run in command prompt and pointing to the same Nexus3 repo.

[ERROR] Non-resolvable import POM: Could not transfer artifact io.quarkus:quarkus-bom:pom:1.2.0.Final from/to Nexus (http://127.0.0.1:9000/repository/maven-all-public/): Transfer failed for http://127.0.0.1:9000/repository/maven-all-public/io/quarkus/quarkus-bom/1.2.0.Final/quarkus-bom-1.2.0.Final.pom @ line 38, column 25: Connect to 127.0.0.1:9000 [/127.0.0.1] failed: Connection refused (Connection refused) -> [Help 2]

simonedavico commented 4 years ago

@aloubyansky sorry for the late reply. I bumped

<quarkus-plugin.version>1.3.0.CR2</quarkus-plugin.version>
<quarkus.platform.version>1.3.0.CR2</quarkus.platform.version>

and tried again, but the error is still there:

org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact .. in central
Honza-cz commented 4 years ago

Hi, I guess, I bumped into similar issue. I am using quarkus 1.2.0.Final. The maven build is fine on my local PC. However, same code built in Jenkins server lead to error in test instantiation, because custom artifact is looked up in root maven repo which doesnt exist of course . Unfortunately, I don't have direct access to Jenkins server, so I can just share the error message.

I tried all suggestion on this page without success (adding some test dependencies, mvn dependency:resolve -> mvn -Dquarkus-bootstrap-offline=true test)

[ERROR] Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 42.268 s <<< FAILURE! - in ZZZZ [ERROR] ZZZZ Time elapsed: 0.015 s <<< ERROR! org.junit.jupiter.api.extension.TestInstantiationException: TestInstanceFactory [io.quarkus.test.junit.QuarkusTestExtension] failed to instantiate test class [com.ZZZZTest]: Failed to create the boostrap class loader Caused by: java.lang.IllegalStateException: Failed to create the boostrap class loader Caused by: io.quarkus.bootstrap.BootstrapException: Failed to create the deployment classloader for MY_GROUP_ID:MY_ARTEFACT_ID::jar:0.0.1-beta.2+build.54 Caused by: io.quarkus.bootstrap.resolver.AppModelResolverException: Failed to resolve dependencies for MY_GROUP_ID:MY_ARTEFACT_ID:0.0.1-beta.2+build.54 Caused by: org.eclipse.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: MY_GROUP_ID:MY_ARTEFACT_ID_2:jar:20200324-142426, MY_GROUP_ID:MY_ARTEFACT_ID_3:jar:5.5.2, com.jayway.jsonpath:json-path:jar:2.4.0: Could not find artifact MY_GROUP_ID:MY_ARTEFACT_ID_2:jar:20200324-142426 in central (https://repo.maven.apache.org/maven2)

I tried to use 1.3.1.Final version, but then a new error message appeared during test execution (in quarkus init): ... Time elapsed: 0.013 s <<< ERROR! java.lang.RuntimeException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException Caused by: java.lang.reflect.InvocationTargetException Caused by: java.lang.SecurityException: Prohibited package name: java.util.concurrent

Honza-cz commented 4 years ago

QuarkusTestExtension.txt

I updated quarkus junit5 integration in order to get stack trace. It doesn't help me to fix the issue, but maybe you will have an idea:

Test execution + stacktrace [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.862 s - in com.ZZZ.EmbeddedCassandraTest [INFO] Running com.ZZZ.MyTest !!! createTestInstance !!! e4 java.lang.IllegalStateException: Failed to create the boostrap class loader at io.quarkus.test.junit.QuarkusTestExtension.createQuarkusBuildClassLoader(QuarkusTestExtension.java:329) at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:89) at io.quarkus.test.junit.QuarkusTestExtension.createTestInstance(QuarkusTestExtension.java:395) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstanceFactory(ClassBasedTestDescriptor.java:285) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:275) at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:77) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:258) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:252) at java.util.Optional.orElseGet(Optional.java:267) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:251) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:142) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:117) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) Caused by: io.quarkus.bootstrap.BootstrapException: Failed to create the deployment classloader for zzz:ZZZ2::jar:0.0.1-beta.2+build.58 at io.quarkus.bootstrap.BootstrapClassLoaderFactory.newDeploymentClassLoader(BootstrapClassLoaderFactory.java:329) at io.quarkus.test.junit.QuarkusTestExtension.createQuarkusBuildClassLoader(QuarkusTestExtension.java:327) ... 52 more Caused by: io.quarkus.bootstrap.resolver.AppModelResolverException: Failed to resolve dependencies for zzz:ZZZ2:jar:0.0.1-beta.2+build.58 at io.quarkus.bootstrap.resolver.maven.MavenArtifactResolver.resolveManagedDependencies(MavenArtifactResolver.java:311) at io.quarkus.bootstrap.resolver.BootstrapAppModelResolver.doResolveModel(BootstrapAppModelResolver.java:146) at io.quarkus.bootstrap.resolver.BootstrapAppModelResolver.resolveManagedModel(BootstrapAppModelResolver.java:134) at io.quarkus.bootstrap.resolver.BootstrapAppModelResolver.resolveModel(BootstrapAppModelResolver.java:125) at io.quarkus.bootstrap.BootstrapClassLoaderFactory.newDeploymentClassLoader(BootstrapClassLoaderFactory.java:314) ... 53 more Caused by: org.eclipse.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: com.zzz:ZZZ1:jar:20200324-142426, com.yyy:YYY1:jar:5.5.2: Could not find artifact com.zzz:ZZZ1:jar:20200324-142426 in central (https://repo.maven.apache.org/maven2) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:357) at io.quarkus.bootstrap.resolver.maven.MavenArtifactResolver.resolveManagedDependencies(MavenArtifactResolver.java:307) ... 57 more Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: com.zzz:ZZZ1:jar:20200324-142426, com.yyy:YYY1:jar:5.5.2: Could not find artifact com.zzz:ZZZ1:jar:20200324-142426 in central (https://repo.maven.apache.org/maven2) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:424) at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:229) at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveDependencies(DefaultRepositorySystem.java:340) ... 58 more Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact com.zzz:ZZZ1:jar:20200324-142426 in central (https://repo.maven.apache.org/maven2) at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:48) at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:369) at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:75) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) !!! createTestInstance

I attached customized QuarkusTestExtension.java (quarkus 1.2.1.Final)

aloubyansky commented 4 years ago

@simonedavico could you please give 1.4.0.CR1 a try?

bpechiney commented 4 years ago

I'm seeing similar problems with 1.4.0.CR1. My company proxies our dependency requests through an artifactory, yet many of the Quarkus dependencies cannot be retrieved:

java.lang.RuntimeException: MY_GROUP_ID_2.bootstrap.BootstrapException: Failed to create the application model for MY_GROUP_ID:MY_ARTIFACT_ID_1::jar:0.0.0-SNAPSHOT
Caused by: MY_GROUP_ID_2.bootstrap.BootstrapException: Failed to create the application model for MY_GROUP_ID:MY_ARTIFACT_ID_1::jar:0.0.0-SNAPSHOT
Caused by: MY_GROUP_ID_2.bootstrap.resolver.AppModelResolverException: Failed to resolve dependencies for MY_GROUP_ID:MY_ARTIFACT_ID_1:jar:0.0.0-SNAPSHOT
Caused by: org.eclipse.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: MY_GROUP_ID_2:MY_ARTIFACT_ID_2:jar:1.1.0.Final, MY_GROUP_ID_2:MY_ARTIFACT_ID_3:jar:1.1.0.Final: Could not find artifact MY_GROUP_ID_2:MY_ARTIFACT_ID_2:jar:1.1.0.Final in central (https://repo.maven.apache.org/maven2)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: MY_GROUP_ID_2:MY_ARTIFACT_ID_2:jar:1.1.0.Final, MY_GROUP_ID_2:MY_ARTIFACT_ID_3:jar:1.1.0.Final: Could not find artifact MY_GROUP_ID_2:MY_ARTIFACT_ID_2:jar:1.1.0.Final in central (https://repo.maven.apache.org/maven2)
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact MY_GROUP_ID_2:MY_ARTIFACT_ID_2:jar:1.1.0.Final in central (https://repo.maven.apache.org/maven2)
aloubyansky commented 4 years ago

I've fixed a couple of related issues that I could actually reproduce. They are https://github.com/quarkusio/quarkus/issues/9279 https://github.com/quarkusio/quarkus/issues/9255 I believe this issue should be fixed now. Please give the upcoming 1.5.0.CR1 (planned to be released on May 19) a try. If it does not fix it in your environment, please open a new issue with a very detailed description. Thanks everyone.

simonedavico commented 4 years ago

@aloubyansky I wanted to give 1.5.0.Final a try but it looks like it is not yet compatible with Kogito, correct? I also tried to scaffold a new application by specifying quarkus:quarkus-maven-plugin:1.5.0.Final:create (and kogito plugin), but the project was created with 1.4.2.Final.

I have to assume there is no support for 1.5.0 on kogito side?

aloubyansky commented 4 years ago

@simonedavico thanks for checking. What we've released so far is Quarkus core with quarkus-bom. Kogito however has moved out of the Quarkus repo (as a consequence from quarkus-bom) and integrated into quarkus-universe-bom (Quarkus platform) which is planned to be released next Tuesday. The create command is looking for the latest available platform which is 1.4.2.Final at the moment.

simonedavico commented 4 years ago

Good to know, I will wait for next week to test and post the result here :)

PieterjanDeconinck commented 4 years ago

In case anyone still encounters this issue: make sure that your MAVEN_HOME variable is set. I had the same issue (also on 1.5.0.Final) and it was fixed after setting the variable.

deodorel commented 2 years ago

Just bumped into this issue, i am on 2.1.4.Final and still have the problem ....

aloubyansky commented 2 years ago

@deodorel thanks for letting us know. Please open a new issue and provide as many details about the environment and configuration which is affected by the issues.

deodorel commented 2 years ago

Ok thanks for your answer. I will prepare that.

aloubyansky commented 2 years ago

Thanks @deodorel Also, please, mention me in the issue you will create.

deodorel commented 2 years ago

20444 created. Thanks!