关于maven-assembly-plugin插件打包,有部分无法打包的情况解决方法

今天在使用maven-assembly-plugin 对生产者进行打包,然后在linux中发布时。将包打包之后,发现mybtis的xml无法识别,然后查看原因说是没有这个包,我当时就纳闷了,都是基操(基本操作)怎么会出错。然后自己又看了几遍配置文件。

<resource>
                <directory>src/main/resources/mybatis</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>

由于assembly有自己的默认存储包,因此不指定路径,会默认放在mybatis,即使没有也会帮你创建(我看了很多人都没有写指定路径)

 

按照常规操作在打包之后,检查classes文件下面就应该有mybatis的目录,但是我发现却没有。我以为是打包的方式问题,又尝试这对整体打包,结果依然是这样的。

<resources>
            <!--用于资源拷贝-->
            <resource>
                <directory>src/main/resources/spring</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <!-- dubbo 默认去META-INF/spring目录中加载spring配置我呢见 -->
                <targetPath>META-INF/spring/</targetPath>
            </resource>

            <resource>
                <directory>src/main/resources/mybatis</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
 
            </resource>

            <resource>
                <directory>src/main/resources/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
                <!--<targetPath></targetPath>-->
            </resource>

            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
                <!--<targetPath></targetPath>-->
            </resource>
        </resources>

 

在这里,我发现在没有指定路径的情况下,resources下面的文件和resources目录下的配置文件都可以打出相应的包。那我就认为我写的应该是没错的。可以没错缺解决不了问题。然后我就目光放在了Spring打包的指路路径的标签,在想是否我mybatis也需要同样的指定路径。于是自己就在下面写了指定路径。

<resource>
                <directory>src/main/resources/mybatis</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <targetPath>mybatis/</targetPath>
            </resource>

 

这样写完之后,发现打完包可以显示mybatis,放在linux里面运行也没有问题。可是我现在也没弄懂,为什么别人都不需要指定,而我就这么特殊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven-assembly-plugin是一个用于打包插件,可以将项目中的多个模块合并成一个可执行的JAR包或者WAR包。然而,有时候我们可能需要对已经打包好的JAR或者WAR包进行进一步的处理或者外部打包。以下是关于maven-assembly-plugin外部打包的解答。 首先,我们需要确保已经正确配置了maven-assembly-plugin,并且在项目的pom.xml文件中已经定义好了自定义的assembly描述文件(assembly.xml)。 在进行外部打包之前,我们需要先将项目进行构建和打包。在项目根目录下通过命令行输入"mvn clean install"命令来构建项目,并且将项目打包成JAR或者WAR文件。 接下来,在项目根目录下创建一个新的文件夹(例如,external_package),用于存放外部打包的文件。 然后,可以通过以下命令来进行外部打包: mvn assembly:assembly -Ddescriptor=assembly.xml -DoutputDirectory=/path/to/external_package 在上面的命令中,-Ddescriptor参数用于指定assembly描述文件所在的路径以及文件名称,-DoutputDirectory参数用于指定外部打包文件存放的路径。 执行完上述命令后,maven-assembly-plugin会根据assembly.xml文件的定义,在指定的路径下生成外部打包文件。 通过以上步骤,我们就可以实现maven-assembly-plugin的外部打包功能。需要注意的是,我们在进行外部打包之前,需要先正确配置和打包项目,并且确保已经定义了正确的assembly描述文件。 外部打包可以用于将项目的可执行文件(如JAR或者WAR文件)与其它资源(如配置文件或者依赖库)合并打包成一个单独的压缩文件,方便部署和分发。它可以帮助我们将项目打包成一个易于使用和发布的形式,简化部署流程,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值