首页 > 解决方案 > Maven - 为什么jar文件与war文件一起生成?

问题描述

下面显示了我拥有的 pom.xml 的一部分。当我运行“mvn package”或“mvn war”时,会生成一个名为“mlm-classes.jar”的 jar 文件。

为什么会生成 JAR 文件?我的意思是,我想要 JAR 文件的 pom.xml 中没有指定。

如果我想要一个不同的 JAR 文件名,我该如何指定?

...
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

<properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

<build>
    <finalName>mlm</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <packagingExcludes>WEB-INF/lib/j*.jar</packagingExcludes>
                <attachClasses>true</attachClasses>
                <webXml>web/WEB-INF/web.xml</webXml>
                <webResources>
                    <resource>
                        <directory>web/WEB-INF</directory>
                        <targetPath>WEB-INF</targetPath>
                        <includes>
                            <include>urlrewrite.xml</include>
                            <include>weblogic.xml</include>
                        </includes>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>
</build>


<dependencies>
...

标签: mavenpom.xml

解决方案


该配置<attachClasses>true</attachClasses>意味着您希望生成一个带有这些类的附加 JAR。

顺便说一句:mvn war不是有效的 Maven 命令。


推荐阅读