Maven打包时包含资源文件和源码到jar的方法

简介: Maven打包时包含资源文件和源码到jar的方法

在使用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是否过滤资源文件,默认false
  • exclude要排除的文件,上面的配置内容中排除了所有的java源代码文件防止把源代码也打包进去了

如果在别的地方有资源文件,可以自己再添加resource节点,格式按照这个来。


相关文章
|
3天前
|
Java 测试技术 Maven
Maven打包使用多线程加速构建过程
Maven打包使用多线程加速构建过程
20 0
|
5天前
|
Java Maven
maven跳过测试清理、打包、安装
maven跳过测试清理、打包、安装
16 4
|
4天前
|
Java 关系型数据库 MySQL
Maven如何快捷导入jar包
Maven如何快捷导入jar包
|
5天前
|
Java Maven
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
9 0
|
5天前
|
Java Maven
maven执行 打包时报错提示:不再支持源选项 5。请使用 7 或更高版本。
maven执行 打包时报错提示:不再支持源选项 5。请使用 7 或更高版本。
10 0
|
7天前
|
Java Maven
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
Maven项目打包成jar项目后运行报错误: 找不到或无法加载主类 Main.Main 和 jar中没有主清单属性解决方案
15 0
|
7天前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
14 0
|
19天前
|
Java Apache Maven
Maven 项目文档
本教程聚焦于创建Maven项目文档。在C:/MVN目录下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`生成java项目。
|
12天前
|
Java Apache Maven
Maven 项目文档
在`C:/MVN/consumerBanking`中创建Maven Java项目,使用命令`mvn archetype:generate`生成基础结构。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`,版本至少为3.3和2.7,以避免`NoClassDefFoundError`。运行`mvn site`生成文档。
|
18天前
|
Java 编译器 Maven
使用intellij idea搭建SSM架构的maven项目 详细
使用intellij idea搭建SSM架构的maven项目 详细
35 4