Maven 打包命令遇到的坑

Maven 打包命令遇到的坑今天做定时任务的时候发现定时任务程序中的resources文件夹下面没有被打进去,导致部署在测试环境启动读取不到配置文件,本以为是框架的问题,原来是自己的问题。根据大神对打包的反编译才发现resouces里面的namespace配置根本没有被打包进去。自以为是的是打包进去了,浪费了一定的时间。那idea下的maven命令为什么是这样呢Cleancompileinstallpac

大家好,又见面了,我是你们的朋友全栈君。

今天做定时任务的时候发现定时任务程序中的resources文件夹下面没有被打进去,导致部署在测试环境启动读取不到配置文件,本以为是框架的问题,原来是自己的问题。
根据大神对打包的反编译才发现resouces里面的namespace配置根本没有被打包进去。自以为是的是打包进去了,浪费了一定的时间。那idea下的maven命令为什么是这样呢
Clean compile install package…..
在我原来自己写的一个用于测试的定时程序是maven的Java web程序带有webapp的文件,这时候打包会将resources里也打包进去,由于定时任务程序的maven pom里有

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <configuration>
    <descriptor>src/main/assembly/assembly.xml</descriptor><!-- 描述文件所在的路径 -->
  </configuration>
  <executions>
    <execution>
      <id>make-assembly</id><!-- 随便起一个名字 -->
      <phase>package</phase><!-- 绑定到package生命周期阶段 -->
      <goals>
        <goal>single</goal><!-- 只执行一次 -->
      </goals>
    </execution>
  </executions>
</plugin>

插件,打包出来的tar.gz文件里面含有resources文件下的内容。
但是用于真正部署跑定时程序的代码是maven Java 程序,也就是说不是Java web程序,当使用打包命令的时候不会把maven Java程序的resources目录里的内容打包进去,虽然在idea里运行的时候可以正确读取配置文件,正常跑程序。但是打包到线上的程序包里没有配置,因而就报错了。

这里写图片描述

如图Java web项目里的resources文件夹里的内容是除了lib的那两个文件,而lib里面则是打包好的jar包。如果是Java程序则不会包含META-INF,log4j2.xml文件。
建议:如果是需要读取配置文件的项目,建议创建项目的时候使用maven Java web的方式创建项目骨架。否则打包的时候可能遗漏配置文件导致测试,正式部署的时候报错。
那么我是怎么解决的呢,就是将配置文件放在与lib同级的目录下,完了放到线上测试,或者正式机上跑。前提是程序会自动从项目根目录去找配置项。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134531.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • VMWare虚拟机上网的方法

    VMWare虚拟机上网的方法VMWare虚拟机上网的方法1推荐局域网方式:如果主机是在局域网内通过网关或代理上网,那虚拟机的网络方式设为Bridged连接,把IP地址设为同主机在一个网段,比如主机IP是192.168.0.45,网关是192.168.0.1,那虚拟机的IP设为192.168.0.2-254中的一个,注意不要和已有的IP重复,然后网关也设为192.168.0.1,就可以上网了。宽带拨号方式

    2022年5月19日
    44
  • LoadRunner11激活成功教程方法

    LoadRunner11激活成功教程方法LoadRunner11激活成功教程方法一、覆盖激活成功教程文件首先请下载LoadRunner激活成功教程文件,解压后将lm70.dll,mlr5lprg.dll覆盖LoadRunner11安装目录bin目录下的相应文件,我的目录是C:ProgramFiles\HPLoadRunner\bin,具体目录地址请根据自己安装路径来定。二、使用LoadRunner11序列号1.打开LoadRunner,点击co…

    2022年7月22日
    16
  • 回文数「建议收藏」

    回文数「建议收藏」回文数

    2022年4月24日
    36
  • linux系统搭建ftp服务器及创建用户——centos7.3「建议收藏」

    linux系统搭建ftp服务器及创建用户——centos7.3「建议收藏」linux系统下搭建ftp服务器linux系统下搭建ftp服务器一点都不难,初次进行配置的时候花了很多时间进行linux命令扫盲,故写下这篇博客。环境:window操作系统中安装SecureCRT和FlashFXP软件服务器端的操作系统为centos7.3在客户端使用SecureCRT软件root帐号远程登录服务器端重点记录:相关用户的创建、修改文…

    2022年7月13日
    14
  • c语言经典的螺旋矩阵的几种

    c语言经典的螺旋矩阵的几种11 13 今天也要好好学习 虽然水了一天 今天的高代数分也没怎么搞懂 螺旋矩阵出现在我们学校 2 3 周前布置的编程题里 当时把自己转晕了 现在来回顾一下 介绍一下主流的实现算法大一都过了 1 4 了 好好学吧 题目很简短 就是让你输出一个型如的螺旋数组 solution1 设置一个大的 for 循环 里面有四个小 for 循环 对应四个边 因此进行一个大循环 便走完了一圈 先空着

    2025年6月2日
    3
  • 马尔可夫——马尔可夫不等式

    马尔可夫——马尔可夫不等式马尔可夫马尔可夫不等式

    2025年7月6日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号