当前位置: 首页 > 知识库问答 >
问题:

java - maven项目打包(war) 如何排除META-INF中的maven目录?

邹俊友
2023-07-12

image.png

用chatgpt问了不下十次 给了各种插件的方案 不知道为啥就是不生效
下面是我的pom.xml中的部分片断


    <build>
        <finalName>bam-console</finalName>
        <plugins>
            <!-- Run the JUnit unit tests in an isolated classloader -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>

            <!-- 打包依赖包 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <mainClass>com.bamboocloud.am.Application</mainClass>
                </configuration>
            </plugin>


        </plugins>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>view</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>false</filtering>
                <targetPath>${basedir}/target/bam-console/view</targetPath>
            </resource>


            <resource>
                <directory>src/main/webapp/META-INF</directory>
                <filtering>true</filtering>
                <excludes>
                    <exclude>maven/**</exclude>
                </excludes>
            </resource>
        </resources>
    </build>

共有1个答案

昝唯
2023-07-12

pom.xml 中加入如下插件即可

           <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <archive>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                </configuration>
            </plugin>
 类似资料:
  • 在使用maven apache felix插件构建捆绑jar时,如何排除一些META-INF文件? 这是我的felix配置 我正在引入所有传递依赖项并嵌入它们,因为我想创建一个可以添加到类路径的jar。 当我尝试运行我的jar时,尽管我遇到了异常 在SO上找到一篇帖子后,我手动删除了一些似乎来自bouncy文件的META-INF/file。然后我重新创建了jar文件,它成功了。有没有一种方法可以使

  • > DAO层类型:jar Rest服务层类型:war,依赖:DAO{scope:default,type:jar}

  • 有人能给我一个解决方案吗?除了以下例外。我将创建一个多模块项目。 父项目名称为 ,子项目名称为 、 和 。 我需要有的war文件,其中应该包含、和。jar文件。 但是maven必须在父项目中打包。我怎样才能创建这样的项目?

  • 我正在使用 Maven 来构建一个 Java 项目,我有几个文件,和,我想将它们复制到 JAR 文件内的 目录中。 到目前为止,我的工作如下: 但这也会在编译时将这两个文件复制到 目录中。 所以我希望这些文件包含在JAR文件中,而不是其他地方。有办法做到这一点吗?

  • 问题内容: 我正在尝试编译一个Maven项目,源代码使用Generics和Java 1.5的其他功能,因此导致构建失败 在我中,我针对源和目标属性针对1.5配置了构建配置,但这不能解决我的问题 我是对的还是我错过了什么? 谢谢 尝试构建时输出 问题答案: 您使用有关源/目标的一些信息配置了程序集插件,但是要配置编译,您需要以正确的方式配置编译器插件。 更新: 这应该与maven-enforcer-