繁体   English   中英

Maven:将 war/web-inf/classes 中的类作为 jar 添加到 war/web-inf/lib

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM