【问题标题】:Include other folders besides WEB-INF/classes in Maven Jar file?在 Maven Jar 文件中包含除 WEB-INF/classes 之外的其他文件夹?
【发布时间】:2012-02-23 19:02:23
【问题描述】:

我的 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 目录?

谢谢!

【问题讨论】:

  • 你在 pom 中定义了什么样的包装?也许你可以给你的 pom 多一点?
  • 您的实际目标是什么?不要打破惯例。你显然想这样做。

标签: java maven pom.xml


【解决方案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 中的那些

【讨论】:

    【解决方案2】:

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

    mvn package
    

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2012-11-18
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-30
      • 1970-01-01
      • 2010-11-20
      • 2013-07-06
      相关资源
      最近更新 更多