WARUM führt das folgende zu einem Buildfehler? Ich erstellte eine Klasse, die vor ausführen sollte Maven beginnt, den Build auszuführen.Wie führe ich eine Klasse vor der Erstellung von Maven?
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>my.package.CustomClass</mainClass>
</configuration>
</plugin>
Ergebnisse in einem Build failure:
java.lang.ClassNotFoundException: my.package.CustomClass
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:281)
at java.lang.Thread.run(Thread.java:745)
wenn Sie von einem sauberen Build ausgeführt wird, werden Sie nicht eine kompilierte Version dieser Klasse haben, so kann es nicht ausgeführt werden. Vielleicht, wenn Sie ein bisschen mehr darüber sagen, warum Sie das tun wollen, können wir etwas anderes herausfinden. – dcsohl
Wie könnte eine Hauptklasse ausgeführt werden, bevor sie überhaupt kompiliert wird? Vielleicht möchten Sie die Ausführung an die Phase 'process-classes' binden? – Seelenvirtuose
@Seelenvirtuose Ich brauche eine 'public static void main'-Klasse, die vor' generate-sources' ausgeführt wird, um einige Eigenschaften für die Webservice-Authentifizierung eines externen wsdl-Dienstes zu initialisieren. – membersound