Użyłem archetypu Mavena (webapp-javaee6
), aby utworzyć nowy projekt Java EE 6, ale nie rozumiem, dlaczego pewne rzeczy są umieszczane w elemencie POM w postaci build
. Aby być konkretnym, nie rozumiem, dlaczego javaee-endorsed-api.jar
jest kopiowany do zatwierdzonego katalogu. Zgodnie z odpowiedzią na pytanie this jest to potrzebne do kompilacji, ale mój projekt kompiluje się dobrze po usunięciu powiązanego elementu plugin
pod build
.Projekt New Maven z użyciem archetypów: dlaczego plik javaee-endorsed-api.jar jest kopiowany w POM?
Od javax:javaee-web-api
jest już dostarczona jako zależność w POM, czy nie można jej użyć do kompilacji?
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<outputDirectory>${endorsed.dir}</outputDirectory>
<silent>true</silent>
<artifactItems>
<artifactItem>
<groupId>javax</groupId>
<artifactId>javaee-endorsed-api</artifactId>
<version>6.0</version>
<type>jar</type>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Osobiście wolę zacząć od [Maven Archetype Webapp] (http://maven.apache.org/guides/mini/guide-webapp.html) słodkie i proste, a następnie dodać zależności i fantazyjne rzeczy, zgodnie z wymogiem projektu wystąpić. – Nishant