[英]Maven: change WAR structure
我有一個要導出為WAR文件的Maven項目。 WAR結構如下所示:
Project_Name.war
|
|__ META_INF
|
|__ WEB_INF_
|
|__ lib
|
|__ classes_
|
|__ project_package(project src code)
|
|__ META_INF
|
|__ WEB_INF_
| |
| |__ web.xml
|__ project config files
如您所見,我的項目src代碼位於classes
目錄中。 與其相反,我想將我的項目src代碼作為JAR文件包含在我的lib
文件夾中。 同樣, web.xml
也位於classes
文件夾中。 我想把它放到classes
文件夾外,即放到WEB_INF
里面,以及lib
和'classes'。
我總是可以手動執行這兩項操作。
我期望的WAR結構是這樣的:
Project_Name.war
|
|__ META_INF
|
|__ WEB_INF_
|
|__ lib_
| |__ Project.jar
|
|__ classes_
| |
|__ web.xml |
|__ project config files
但是我想知道是否可以通過項目的pom.xml
? 我希望能得到一些資深專家的幫助。 謝謝。
我正在使用maven_war_plugin
和mvn install
命令來構建WAR。
包括pom.xml結構:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>PROJECT_A</groupId>
<artifactId>PROJECT_A</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
.
.
.
.
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<directory>config</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
.
.
.
</repositories>
<pluginRepositories>
.
.
</pluginRepositories>
</project>
如何在Webapp中創建包含類的JAR?
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archiveClasses>true</archiveClasses>
</configuration>
</plugin>
https://maven.apache.org/plugins/maven-war-plugin/faq.html#attached
您可以使用webXml屬性掃描以指定web.xml位置: https ://maven.apache.org/plugins/maven-war-plugin/war-mojo.html#webXml
此外,我建議遵循https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html而不是WebContent。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.