Oltre a src / main / java, sto aggiungendo una directory src / bootstrap che voglio includere nel mio processo di compilazione, in altre parole, voglio che Maven compili e includa i sorgenti presenti nella mia build. Come!?
src/{main,test}/
quelle
Oltre a src / main / java, sto aggiungendo una directory src / bootstrap che voglio includere nel mio processo di compilazione, in altre parole, voglio che Maven compili e includa i sorgenti presenti nella mia build. Come!?
src/{main,test}/
quelle
Risposte:
Puoi usare il Build Helper Plugin , ad esempio:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>some directory</source>
...
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
buildpath
s per chiunque? Perché non fa per me. FWIW, utilizzo m2e
per importare il progetto.
Plugin execution not covered by lifecycle configuration: org.codehaus.mojo:build-helper-maven-plugin:1.7:add-source (execution: add-source, phase: generate-sources)
ottenere questo errore
pom.xml
come -<project>
....
<build>
<resources>
<resource>
<directory>src/main/config</directory>
</resource>
</resources>
...
</build>
...
</project>
<resource>
come cartella "Resource" ma non come cartella "Source", ad es. Non compilerà i file sorgenti Java al loro interno.
http://maven.apache.org/guides/mini/guide-using-one-source-directory.html
<build>
<sourceDirectory>../src/main/java</sourceDirectory>
vedi anche
Con le recenti versioni di Maven (3) e la versione recente del plug-in del compilatore maven (3.7.0), noto che l'aggiunta di una cartella sorgente con build-helper-maven-plugin
non è necessaria se la cartella che contiene il codice sorgente da aggiungere nella build si trova nella target
cartella o una sua sottocartella.
Sembra che il plugin del compilatore maven compili qualsiasi codice sorgente java che si trova all'interno di questa cartella qualunque sia la directory che li contiene.
Ad esempio avendo alcuni (generati o no) in codice sorgente target/a
, target/generated-source/foo
verranno compilati e aggiunti nella OutputDirectory: target/classes
.
Puoi aggiungere le directory per il tuo processo di compilazione come:
...
<resources>
<resource>
<directory>src/bootstrap</directory>
</resource>
</resources>
...
Src / main / java è il percorso predefinito che non è necessario menzionare nel pom.xml
target/classes
ma non compilati). Questa domanda è di aggiungere una directory di origine, che contiene i file che saranno compilati in target/classes
, non copiato.