我有一个maven项目,我将其作为WAR文件导出。 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
和'类'。
我总是可以手动完成这两项操作。
我期望的WAR结构是这样的:
Project_Name.war
|
|__ META_INF
|
|__ WEB_INF_
|
|__ lib_
| |__ Project.jar
|
|__ classes_
| |
|__ web.xml |
|__ project config files
但我想知道这是否可以通过项目来完成。 pom.xml
?我很感激那里的maven退伍军人的一些帮助。谢谢。
我使用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>
答案 0 :(得分:0)
如何在我的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。