【问题标题】: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 "WAR" pom.xml 将我的类打包到一个 JAR 中并将 JAR 放在 /WEB-INF/lib 文件夹中?
【发布时间】:2020-06-12 22:12:28
【问题描述】:

我有一个简单的 Java Spring MVC Web 应用程序。我使用 Maven pom.xml 文件构建 WAR 文件。

当我执行“maven 安装”时,它会生成一个 WAR 文件,其中包含我在 /WEB-INFO/classes 文件夹中编译的 Java 类。

我的 maven 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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>mycompany.com</groupId>
    <artifactId>myapp</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>My Application</name>
    <url>http://maven.apache.org</url>
    <dependencies>

<!-- .... -->

    </dependencies>
    <build>
        <finalName>myapp</finalName>
    </build>
</project>

接下来我想混淆我的 Java 类(我将使用 Allatori 混淆器),所以我想最简单的方法是如果我的 Java 类都放入它们自己的 JAR 文件并存储在 /WEB-INF/lib包含其余 JAR 的文件夹。

有没有办法修改我的 Maven pom.xml 文件,以便它将我的类打包到一个 JAR 中并将 JAR 放在 /WEB-INF/lib 文件夹中?

更新:

将此添加到“构建”部分(正如“JF Meier”所建议的那样)...

    <build>
        <finalName>myapp</finalName>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.0</version>
                <configuration>
                    <archiveClasses>true</archiveClasses>
                </configuration>
            </plugin>
        </plugins>

    </build>

【问题讨论】:

    标签: java maven spring-mvc allatori


    【解决方案1】:

    您可以使用&lt;archiveClasses&gt; 配置(将其设置为true)生成带有类的附加jar。

    另见:

    https://maven.apache.org/plugins/maven-war-plugin/war-mojo.html

    【讨论】:

    • 谢谢……那行得通。我将使用该解决方案更新我的帖子。
    【解决方案2】:

    将您的 Java 类移动到一个单独的 Maven 模块中,并将其作为依赖项添加到您的 WAR 项目中。然后,您可以在该模块中创建 jar 进行任何必要的操作。

    【讨论】:

    • 不知道该怎么做...我会有两个 Eclipse 项目,每个项目都有一个 pom.xml。一个项目生成混淆的 JAR 文件,第二个项目生成 WAR 文件并将 JAR 文件用作依赖项?还是有其他方法可以做到这一点?
    猜你喜欢
    • 2011-05-15
    • 2011-01-16
    • 2019-09-19
    • 2020-10-05
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    相关资源
    最近更新 更多