Damit todsichere 'Ihre' @Category
Klasse "finden" kann, muss sie auf dem Klassenpfad stehen, der aus dem Abhängigkeitsbaum Ihres Maven-Projekts erstellt wurde.
Diese Ausnahme ...
Kategorie konnte nicht geladen werden: com.mycompany.project.common.utils.StressTest
... impliziert stark, dass, was Artefakt com.mycompany.project.common.utils.StressTest
ist enthält nicht eine erklärte Abhängigkeit von moduleA
.
Sie müssen also eine Abhängigkeit von dem Artefakt com.mycompany.project.common.utils.StressTest
zu Ihrem moduleA
hinzufügen. Wenn der einzige Zweck dieser Abhängigkeit darin besteht, die Klasse @Category
bereitzustellen, wäre es sinnvoll, diesen Abhängigkeitstest z.
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>common.utils</artifactId>
<version>...</version>
<scope>test</scope>
</dependency>
Wenn darüber hinaus com.mycompany.project.common.utils.StressTest
im Baum Test ist eher als die Haupt Baum in Ihrem gemeinsamen utils Modul dann müssen Sie eine JAR-Datei erstellen, die das gemeinsame Testklassen des utils-Modul. Sie können dies tun, indem Sie die folgende maven-jar-plugin
Erklärung zu dem gemeinsamen utils' pom.xml fügt hinzu:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
würden Sie dann davon abhängen <type>test-jar</type>
in der Abhängigkeit in Ihrem moduleA
, zum Beispiel mit:
<dependency>
<groupId>com.mycompany</groupId>
<artifactId>common.utils</artifactId>
<version>...</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
Wenn ich StressTest unter test/java definiere, funktioniert es nicht, aber wenn ich es in main/java definiere, funktioniert es. – bluetech
@bluetech Ich habe die Antwort aktualisiert, um zu beschreiben, wie man exportiert und von einem 'test-jar' aus dem allgemeinen Modul von utils abhängig ist. – glytching