Moje pytanie zostało skierowane w this thread, ale wyjaśnienie nie jest jasne.Profil Maven 3 z rozszerzeniami
mam tę definicję gromadzeniu w jednym z moich plików pom.xml:
<build>
<finalName>${my.project}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>org.kuali.maven.wagons</groupId>
<artifactId>maven-s3-wagon</artifactId>
<version>1.1.19</version>
</extension>
</extensions>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/settings.properties</include>
</includes>
</resource>
</resources>
</build>
Zauważ, że używam rozszerzenie Maven-s3-wagonu. Następnie chciałbym mieć 2 różne profile, każdy z własnymi ustawieniami, wtyczkami i rozszerzeniami, ale maven nie zezwala na tag rozszerzenia pod profilem.
Kiedy próbuję przy użyciu profilu:
<profiles>
<profile>
<id>local-build</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<finalName>${my.project}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
<extensions>
<extension>
<groupId>org.kuali.maven.wagons</groupId>
<artifactId>maven-s3-wagon</artifactId>
<version>1.1.19</version>
</extension>
</extensions>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/settings.properties</include>
</includes>
</resource>
</resources>
</build>
</profile>
</profiles>
Dostaję błąd w moim pom:
cvc-complex-type.2.4.a: Invalid content was found starting with element 'extensions'. One of '{"http://maven.apache.org/POM/4.0.0":defaultGoal, "http://maven.apache.org/POM/
4.0.0":resources, "http://maven.apache.org/POM/4.0.0":testResources, "http://maven.apache.org/POM/4.0.0":directory, "http://maven.apache.org/POM/4.0.0":filters, "http://
maven.apache.org/POM/4.0.0":pluginManagement}' is expected.
Pytanie Więc za pomocą znacznika rozszerzenia oznacza, że nie można korzystać z profili? Jak mogę używać lub zmieniać rozszerzenia budowania za pośrednictwem profilu?
rzeczywiście interesujące pomysł, ale może to skomplikować. Ponieważ jest to system produkcji na stosie, próbuję znaleźć prostsze rozwiązanie \ stable \ official \ tested. Dzięki za to – forhas
Cóż, możesz spróbować użyć 'maven-assembly-plugin', używając descriptor.xml. Ale wątpię, czy zrobiłby to, co robią twoje rozszerzenia. –