![](/img/trans.png)
[英]Is it possible to have Maven “WAR” pom.xml package up my classes up in a JAR and put the JAR in the /WEB-INF/lib folder?
[英]Maven: Adding classes from war/web-inf/classes as a jar to war/web-inf/lib
我对 maven 很陌生。 我创建了一个具有以下结构的 Maven Spring boot 项目 -
..
<groupId>com.example</groupId>
<artifactId>MavenWeb</artifactId>
<version>0.0.1</version>
<packaging>war</packaging>
<name>MavenWeb</name>
<description>Maven Test Web Application</description>
<dependencies>
..
如您所见, packaging
已设置为war
。 因此,当生成war
文件时,我的源代码生成的.class files
会在war/web-inf/classes
文件夹中生成。 我想将其生成为jar
文件并将其维护在war/web-inf/lib
文件夹中,而不是在 classes 文件夹中生成。
我猜我需要为此使用maven-jar-plugin
。 但我不确定如何将生成的 jar 移动到war/web-inf/lib
目录? 有没有更简单的替代方法?
另外,如何限制在war/web-inf/classes
文件夹中生成.class
文件?
真的很感激一些指点。 非常感谢。
这就是 pom 的build
部分应该如何 -
<groupId>com.example</groupId>
<artifactId>MavenWeb</artifactId>
<version>0.0.1</version>
<packaging>war</packaging>
<name>MavenWeb</name>
<description>Maven Test Web Application</description>
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<archiveClasses>true</archiveClasses>
<webResources>
</webResources>
</configuration>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<id>default-jar</id>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<packaging>jar</packaging>
<generatePom>true</generatePom>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<file>
${project.build.directory}/${project.artifactId}-${project.version}.jar
</file>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
这将限制在 classes 文件夹中生成已编译的类,同时生成已编译类的瘦 jar 并将其添加为web-inf/lib/MavenWeb-0.0.1.jar
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.