Ich erstelle ein Maven-Artefakt, das nicht Java ist. In der pom.xml
ich einige Abhängigkeiten auflösen und dann ein benutzerdefiniertes Skript mit exec
Plugin ausführen. Einige Dateien werden in einem Verzeichnis erstellt, aber Maven sieht sie nicht, wenn sie in einem Jar verpackt werden.Maven-Paket enthält nur Datei im zweiten Lauf
Wenn ich mvn package
zweimal ausführen, enthält der zweite Lauf die Ressourcendateien im Jar.
Irgendwelche Ideen, warum das passiert? Das Skript wird während der Phase compile
ausgeführt, sodass die Dateien bereits erstellt werden, wenn die Phase package
das Glas erstellt.
Dies ist relevant (hoffentlich) ein Teil meiner pom.xml
Konfiguration:
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<id>build-plugin</id>
<phase>compile</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>bash</executable>
<arguments>
<argument>build_plugin.sh</argument>
<argument>${workspace}</argument>
<argument>${plugin}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>${project.basedir}/${outputPath}</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>target/**</exclude>
</excludes>
</resource>
</resources>
Alle Variablen und Pfade gültig sind, auf dem zweiten Lauf ich ein Glas mit erwarteten Inhalt immer bin. Aber nicht während des ersten.