Dear all, I found the problem. Version must be set in surefire. Solved it with

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire-plugin.version}</version>
    <configuration>
        <forkCount>1</forkCount>
        <reuseForks>false</reuseForks>
        <systemPropertyVariables>
            <property>
                <!-- Set property to java.system.property, so it could be 
loaded to build karaf-test-instance -->
                <name>karaf.version</name>
                <value>${karaf.version}</value>
            </property>
            <property>
                <!-- Set property to java.system.property, so it could be 
loaded to build karaf-test-instance -->
                <name>project.version</name>
                <value>${project.version}</value>
            </property>
            
<org.slf4j.simpleLogger.defaultLogLevel>DEBUG</org.slf4j.simpleLogger.defaultLogLevel>
            
<org.slf4j.simpleLogger.showDateTime>true</org.slf4j.simpleLogger.showDateTime>
            
<org.slf4j.simpleLogger.cacheOutputStream>System.out</org.slf4j.simpleLogger.cacheOutputStream>
        </systemPropertyVariables>
        <argLine>
            --add-opens java.base/java.security=ALL-UNNAMED
            --add-opens java.base/java.net=ALL-UNNAMED
            --add-opens java.base/java.lang=ALL-UNNAMED
            --add-opens java.base/java.util=ALL-UNNAMED
            --add-opens java.naming/javax.naming.spi=ALL-UNNAMED
            --add-opens java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED
        </argLine>
    </configuration>
</plugin>

> Am 05.01.2025 um 17:22 schrieb Matthias Wegner <matthias.weg...@email.de>:
> 
> Hi all,
> 
> I tried on base of example 
> https://github.com/apache/karaf/blob/main/examples/karaf-itest-example/ in a 
> own project an integration test, set the dependencies in pom an with version 
> 4.4.6 for karaf.
> 
> But man clean test throws:
> 
> org.ops4j.pax.exam.TestContainerException: 
> java.lang.IllegalArgumentException: Could not resolve version. Do you have a 
> dependency for org.apache.karaf/apache-karaf in your maven project?
>         at 
> org.ops4j.pax.exam.spi.reactors.ReactorManager.prepareReactor(ReactorManager.java:195)
>         at 
> org.ops4j.pax.exam.junit.impl.ProbeRunner.<init>(ProbeRunner.java:78)
>         at org.ops4j.pax.exam.junit.PaxExam.createDelegate(PaxExam.java:82)
>         at org.ops4j.pax.exam.junit.PaxExam.<init>(PaxExam.java:73)
>         at 
> java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)
>         at 
> java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:501)
>         at 
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:485)
>         at 
> org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
>         at 
> org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
>         at 
> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
>         at 
> org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
>         at 
> org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
>         at 
> org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
>         at 
> org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
>         at 
> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:314)
>         at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240)
>         at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)
>         at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)
>         at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
>         at 
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
>         at 
> org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
>         at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
> Caused by: java.lang.IllegalArgumentException: Could not resolve version. Do 
> you have a dependency for org.apache.karaf/apache-karaf in your maven project?
>         at 
> org.ops4j.pax.exam.MavenUtils.getArtifactVersion(MavenUtils.java:75)
>         at org.ops4j.pax.exam.MavenUtils$1.getVersion(MavenUtils.java:109)
>         at 
> org.ops4j.pax.exam.options.MavenArtifactUrlReference.version(MavenArtifactUrlReference.java:86)
>         at 
> org.ops4j.pax.exam.options.MavenArtifactUrlReference.versionAsInProject(MavenArtifactUrlReference.java:90)
>         at 
> org.apache.karaf.itests.KarafTestSupport.getKarafDistribution(KarafTestSupport.java:198)
>         at 
> org.apache.karaf.itests.KarafTestSupport.config(KarafTestSupport.java:241)
>         at 
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
>         at java.base/java.lang.reflect.Method.invoke(Method.java:580)
>         at 
> org.ops4j.pax.exam.spi.reactors.ReactorManager.addConfigurationsToReactor(ReactorManager.java:248)
>         at 
> org.ops4j.pax.exam.spi.reactors.ReactorManager.prepareReactor(ReactorManager.java:184)
>         ... 21 more
> 
> Any hint?
> 
> In the pom I set
> <!-- Karaf Testing: Support Tooling -->
> <dependency>
>     <groupId>org.apache.karaf.itests</groupId>
>     <artifactId>common</artifactId>
>     <version>${karaf.version}</version>
>     <scope>test</scope>
> </dependency>
> <!-- Karaf Testing: Pax Exam Core -->
> <dependency>
>     <groupId>org.ops4j.pax.exam</groupId>
>     <artifactId>pax-exam-junit4</artifactId>
>     <version>${pax-exam.version}</version>
>     <scope>test</scope>
> </dependency>
> <!-- Karaf Testing: Karaf Test Container -->
> <dependency>
>     <groupId>org.ops4j.pax.exam</groupId>
>     <artifactId>pax-exam-container-karaf</artifactId>
>     <version>${pax-exam.version}</version>
>     <scope>test</scope>
> </dependency>
> <!-- Required to use shell commands in the tests -->
> <dependency>
>     <groupId>org.apache.karaf.shell</groupId>
>     <artifactId>org.apache.karaf.shell.core</artifactId>
>     <version>${karaf.version}</version>
>     <scope>test</scope>
> </dependency>
> <!-- Karaf Testing: Karaf Distribution -->
> <dependency>
>     <groupId>org.apache.karaf</groupId>
>     <artifactId>apache-karaf</artifactId>
>     <version>4.4.6</version>
>     <type>tar.gz</type>
>     <exclusions>
>         <exclusion>
>             <groupId>org.apache.karaf</groupId>
>             <artifactId>org.apache.karaf.client</artifactId>
>         </exclusion>
>     </exclusions>
>     <scope>test</scope>
> </dependency>
> 

Reply via email to