0

I want to add a java class from test package to exec-maven-plugin execution.

As you can see bellow I tried with:

<classpathScope>test</classpathScope>

And my test resource is not found.

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>generateIgniteSchemaClasses</id>
                    <phase>process-test-resources</phase>
                    <goals>
                        <goal>java</goal>
                    </goals>
                    <configuration>
                        <executableDependency>
                            <groupId>com.package</groupId>
                            <artifactId>ignite-schema-import</artifactId>
                        </executableDependency>
                        <mainClass>com.package.SchemaImportApplication</mainClass>
                        <arguments>
                            <argument>${project.build.testOutputDirectory}/xml/schema.xml</argument>
                        </arguments>
                        <classpathScope>test</classpathScope>
                    </configuration>
                </execution>
            </executions>
        </plugin>

and In order for the execution to pass I need a java class from test com.package

The test resource is a test annotation type interface which is required in the class's execution.

aurelius
  • 3,946
  • 7
  • 40
  • 73

1 Answers1

0

After investigating some more in a solution, I got to the conclusion that it is better to create a new test module in the project

<build>
    <plugins>
        <!-- This is a test module, so it does not need to be deployed -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

which I added in the above module as a test resource:

    <dependency>
        <groupId>com.project</groupId>
        <artifactId>project-test-module</artifactId>
        <version>${project.version}</version>
        <scope>test</scope>
    </dependency>
aurelius
  • 3,946
  • 7
  • 40
  • 73