在使用Maven打包时,我们发现最终打包之后jar中只有已经编译完成的代码class,资源文件都没了,如果有资源文件需要打包进jar的话,直接打包jar无法正常工作。
其实,在pom.xml
中配置一下节点即可实现把资源打包进来的操作。
在build
中添加以下内容:
<resources><resource><directory>${basedir}/src/main/resources</directory><includes><include>**/*.*</include></includes><filtering>false</filtering></resource><resource><directory>${basedir}/src/main/java</directory><includes><include>**/*.*</include></includes><excludes><exclude>**/*.java</exclude></excludes><filtering>false</filtering></resource></resources>
可以看到,添加的resources
节点中有两个子节点,分别配置了两个不同的地方的内容打包进jar(一般资源文件放在项目resource文件夹和源代码文件夹里面),其中每一个节点中的内容意义如下:
directory
为被打包的资源文件的路径,${basedir}
表示这个项目的根目录include
被包含的文件,里面的**/*.*
表示包含其中的所有文件和文件夹filtering
是否过滤资源文件,默认falseexclude
要排除的文件,上面的配置内容中排除了所有的java源代码文件防止把源代码也打包进去了
如果在别的地方有资源文件,可以自己再添加resource
节点,格式按照这个来。