在Maven Jar文件中包含除WEB-INF / classes之外的其他文件夹?

时间:2012-02-23 19:02:24

标签: java maven pom.xml

我的pom.xml看起来像这样(注意我正在构建一个JAR以及一个WAR):

            ...
            <packaging>war</packaging>
            ...
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <containerConfigXML>src/main/webapp/META-INF/context.xml</containerConfigXML>
                    <archiveClasses>true</archiveClasses>
                    <attachClasses>true</attachClasses>
                </configuration>
            </plugin>

但是,生成的JAR仅包含WEB-INF / classes中的类。我怎样才能让JAR在src / main / java / com / ...等中包含类 - 而不必将所有类都添加到WEB-INF目录中?

谢谢!

2 个答案:

答案 0 :(得分:1)

通过从上面的代码示例中删除archiveClasses节点来解决此问题。新的pom.xml看起来像这样:

            ...
            <packaging>war</packaging>
            ...
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <containerConfigXML>src/main/webapp/META-INF/context.xml</containerConfigXML>
                    <attachClasses>true</attachClasses>
                </configuration>
            </plugin>

现在生成的JAR包含所有类,而不仅仅是WEB-INF / classes

中的类

答案 1 :(得分:0)

通常,如果您的资源配置正确(或标准布局),您应该能够运行

mvn package

哪个应该在目标目录中生成jar文件。

希望这有帮助。