1.修改pom.xml文件,在project节点下加入以下代码:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
其中路径main/resources用来存放设置生成版本信息的资源文件application.properties,其内容如下:
# application.properties
application.name=${pom.name}
application.version=${pom.version}
其中 : ${pom.name}代表你在pom.xml中配置的工程名,而${pom.version}是你工程的当前版本号。
2.在命令行执行:mvn process-resources,运行结果如下:
[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------------
---
[INFO] Building my-app
[INFO] task-segment: [process-resources]
[INFO] -------------------------------------------------------------------------
---
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Sun Apr 15 13:28:54 CST 2007
[INFO] Final Memory: 2M/4M
[INFO] ------------------------------------------------------------------------
说明命令已经执行成功,现在切换到D:\mywork\my-app\target\classes路径下,你可以发现资源文件application.properties,用文本编辑工具将其打开,内容如下:
# application.properties
application.name=my-app
application.version=1.0-SNAPSHOT
这时,我们在pom.xml中配置的工程名称及版本信息已经成功生成了。
3.运行mvn package ,application.properties将会被打入到jar文件中。
4.为application.properties定义扩展信息,maven2提供两种有效的途径定义属性文件的扩展信息
方法一:
第一步: 在我们新加入的build节点中增加代码如下:
<filters>
<filter>src/main/filters/filter.properties</filter>
</filters>
也就是说,你除了在这里添加这段代码外,还需要在相应的路径中增加一个filters文件夹,并在其下增加一个filter.properties属性文件。
第二步:设置 filter.properties 文件
# filter.properties
my.filter.value=hello!
第三步:扩充message=${my.filter.value}到application.properties文件中。
第四步: 再次执行:mvn process-resources,application.properties文件中的内容如下:
# application.properties
application.name=my-app
application.version=1.0-SNAPSHOT
message=hello!
此时可以看到message=hello!已经被加入到了配置文件中。
方法二:不使用filter.properties配置文件,直接在pom.xml的project节点中进行定义,其代码如下:
<properties>
<my.filter.value>hello</my.filter.value>
</properties>
此时不再需要filter.properties。运行命令mvn process-resources,你将得到同样的结果。
说明: 这两种方法需要根据工程的具体情况来决定,如果工程配置相对复杂,则第一种方式不失为一种很好的解决方案,我们可以利用第一种方式对工程配置进行分类管理。如果工程相对较小,pom.xml中的配置信息也相对较少的情况下建议采用直接写入到pom.xml中的方式。
另外,利用maven2,我们还可以在配置文件中得到我们的系统信息,在 application.properties 中添加以下代码:
java.version=${java.version}
command.line.prop=${command.line.prop}
执行命令:
mvn process-resources "-Dcommand.line.prop=hello again"
打开生成后的 文件,你将会发现其中多出来了两条信息,一条是我们获得的执行环境信息,另一条则是由我们在执行命令时,即时写入的信息。
java.version=1.5.0_06
command.line.prop=hello again
----------------伏羲狂徒
分享到:
相关推荐
### Springboot 打Jar包,Maven完美解决本地Jar包自动打入Springboot Jar包中 #### 背景介绍 随着微服务架构的流行,Spring Boot 成为了开发微服务应用时首选的技术栈之一。它简化了传统的Java Web应用程序的开发...
在pom.xml文件中,我们需要配置依赖本地Jar包的信息。对于每个Jar包,我们需要指定groupId、artifactId、version三个属性,同时还要包含scope和systemPath属性。scope属性指定了Jar包的来源于本地文件,而systemPath...
2) 进入jar文件所在目录,右键该目录空白处选择“在此处打开命令窗口” 3) 输入maven命令,列表出本目录(不对子目录进行处理)所有的jar文件 4) 输入对应的序号来选择文件 5) 确认您选择的文件,因大意选错时可按r...
2. **配置文件打包到外部**:Spring Boot提供了一个`spring-boot-maven-plugin`,它的`repackage`目标可以用来重新打包应用,将配置文件移出jar包。使用`excludeDevTools`和`includeConfig`属性,我们可以将配置文件...
Maven依赖的jar库分为本地仓库(默认在用户主目录的`.m2\repository`下)和远程仓库(如Maven中央仓库、公司内部仓库等)。`settings.xml`文件用于配置仓库的相关信息。 **10. Maven的多模块项目** 对于大型项目,...
以上就是使用Maven打包成第三方JAR包且把pom依赖包打入的方法。通过这个方法打包的JAR包具有很高的可用性,开发者不需要手动处理复杂的依赖关系,只需简单地将JAR包部署到目标环境即可运行。希望本文内容能帮助到你...
2. 执行Maven安装命令,指定jar文件的路径、groupId、artifactId以及版本号等信息: ```shell mvn install:install-file -Dfile=cloud.jar -DgroupId=...
比如,假设你有一个名为`test.jar`的jar包,位于`F:\`目录下,你想将其设置为`test`组ID下的`test`模块,版本号为`0.0.1`,且是jar格式,那么命令应该是: ``` mvn install:install-file -Dfile=F:\test.jar -...
maven-assembly-plugin 插件打第三方依赖包进 jar,spring 有 org.springframework.beans.factory.parsing.BeanDefinitionParsingException 异常怎么办? maven-shade-plugin 插件打第三方依赖包,spring 有 java....
IDEA对使用了第三方依赖jar包的非Maven项目打jar包的问题 本文主要介绍了IDEA对使用了第三方依赖jar包的非Maven项目打jar包的问题,通过详细的图文详解,帮助大家更好地理解和解决这个问题。 知识点1:IDEA打jar包...
在Spring Boot项目中,使用Maven进行打包是一个常见的任务,特别是在构建可执行的JAR文件时。本篇文章将深入探讨如何使用Maven的maven-jar-plugin和maven-dependency-plugin插件来创建一个可以直接运行的Spring Boot...
在Java项目中,引入这些jar包通常是通过Maven或Gradle这样的构建工具完成的。在项目的pom.xml或build.gradle文件中添加对应的依赖,然后构建系统会自动下载并管理这些jar包。如果手动导入,需要将jar文件复制到项目...
console.jar是ureport2的web包,它的代码需要引入核心包ureport2-core.jar,所以使用你的方式肯定缺少ureport2-core.jar里的代码, 你只需要将jar包正确导入maven本地仓库,源码包不需要修改pom.xml文件 2、打包注意...
标题中的“gradle将多模块打包成一个jar执行类demo”指的是使用Gradle构建工具将一个包含多个子模块的项目打包成一个可执行的JAR文件。在Java开发中,多模块项目通常是为了实现模块化设计,提高代码的可复用性和可...
方式3:将外部jar打入本地Maven仓库 在Maven中,我们还可以将外部的jar包打入本地Maven仓库。例如,我们可以使用以下命令将外部的cloud.jar包打入本地Maven仓库: ``` mvn install:install-file -Dfile=cloud.jar -...
在JAR包信息中,需要指定JAR文件的名称、版本号和主类(包含Main方法的类)。同时,也需要配置依赖的第三方类库的地址。在配置依赖Jar的路径时,需要特别注意,在指定的jar文件之前增加“library\”或“library/”,...
例如,HelloWrold2分别依赖包含不同版本commons-fileupload.jar的HelloWorld和HelloWorld3,最终会选择最先声明的HelloWorld3的版本。 总结来说,Maven的依赖管理和传递依赖机制旨在简化项目构建,自动解决依赖关系...
将这些资源打入.jar文件的过程是Java开发中的一个重要步骤,涉及到构建工具(如Maven或Gradle)的配置。开发者通常会利用这些工具的资源配置,确保在打包时自动将资源文件包含进.jar包。 具体来说,图片和声音的...
这样,排除的jar包不会被打入可执行jar包。 #### 2.3 打包脚本编写 抽离过程分为四个步骤: 1. **抽取公共jar包库**:将所有工程共用的第三方jar包收集到一个目录下。 2. **输出项目所有依赖**:使用`mvn ...