Tôi đã sử dụng nguyên mẫu Maven (webapp-javaee6
) để tạo dự án Java EE 6 mới nhưng không hiểu tại sao một số thứ nhất định được đặt bên trong phần tử build
của POM. Để cụ thể, tôi không hiểu tại sao javaee-endorsed-api.jar
được sao chép sang thư mục được xác nhận. Theo câu trả lời cho câu hỏi this, điều này là cần thiết để biên dịch nhưng dự án của tôi biên dịch tốt khi tôi xóa phần tử plugin
liên quan dưới build
.Dự án Maven mới sử dụng các nguyên mẫu: tại sao javaee-endorsed-api.jar được sao chép trong POM?
Vì javax:javaee-web-api
đã được cung cấp dưới dạng phụ thuộc trong POM, điều này có thể không được sử dụng để biên dịch không?
<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>
Cá nhân tôi thích bắt đầu với [Maven Archetype Webapp] (http://maven.apache.org/guides/mini/guide-webapp.html) ngọt ngào và đơn giản, và sau đó thêm phụ thuộc và các chất liệu ưa thích theo yêu cầu dự án đi về phía trước. – Nishant