maven在linux下打包会漏掉非java文件

和自甴很熟 提交于 2020-08-12 03:05:27

    如题所示,这个问题是我在linux下对maven项目进行打包的时候遇到的问题,在项目src/main/java目录中除了java文件之外,有时候会加入一些别的配置比如properties类型的文件,或者meta文件,总之就是与项目开发有关的文件。

    当我们在开发的时候,一般是在windows上进行打包或者在ide中直接运行,不会出现漏掉非java文件的情况,如果将项目源代码放到linux系统上,利用maven打包,竟然漏掉了非java文件,也是很奇怪的一件事情,当然,他不会导致项目打包失败,只是在运行的时候,会导致一些功能失效或者直接报错。

    其实解决这个问题也很简单,以漏掉.meta文件为例,我们需要在pom.xml配置文件中build节点的resources下增加一个resource,指定directory为src/main/java目录,然后配置include包含**/*.meta即可,如下所示:

    

    其中的include可以配置多个,根据需要指定即可。 

    这个问题以前从来没有遇到过,或者没有注意到,直到最近在gitlab上通过源代码maven构建jar,然后生成镜像,竟然出现这个问题,让我很惊讶,最后把打出的jar文件拿出来一看,发现确实少了非java文件,而在windows上进行打包却不会出现这个问题。这个我也不是很明白。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!