即使POM包装指定WAR,我是否可以强制Maven构建JAR?

时间:2015-06-18 12:40:20

标签: maven command-line jar war pom.xml

我想从命令行构建我们的项目作为JAR而不修改具有<packaging>war</packaging>配置的POM。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:2)

如果您可以自由选择如何执行maven,则可以调用maven直接调用jar目标:

mvn jar:jar

答案 1 :(得分:1)

我无法明确构建一个jar,同时也阻止了战争的建立。但我意识到我没有必要。使用maven-assembly-plugin的这种配置,以及在我的POM中设置为WAR的包装,将始终创建一个胖罐和一个战争。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.5.3</version>
    <configuration>
        <finalName>myApp</finalName>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.company.app.Startup</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

如果此问题/答案似乎令搜索者感到困惑/无用,请随时删除。感谢所有帮助我来到这里的人。