`
lingqi1818
  • 浏览: 253385 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

编译期使用MAVEN

阅读更多
To reference a property defined in an external file, all you need to do is add a reference to this external file in your pom.xml. First, let's create our external properties file and call it src/main/filters/filter.properties:

# filter.properties
my.filter.value=hello!

Next, we'll add a reference to this new file in the pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                      http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <filters>
      <filter>src/main/filters/filter.properties</filter>
    </filters>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>
</project>

Then, if we add a reference to this property in the application.properties file:

# application.properties
application.name=${pom.name}
application.version=${pom.version}
message=${my.filter.value}


执行mvn process-resources

手工改写配置:
# application.properties
java.version=${java.version}
command.line.prop=${command.line.prop}

Now, when you execute the following command (note the definition of the command.line.prop property on the command line), the application.properties file will contain the values from the system properties.

mvn process-resources "-Dcommand.line.prop=hello again"


分享到:
评论

相关推荐

    自定义编译期注解

    在Java编程语言中,自定义编译期注解(Annotation)是一种强大的元数据工具,它允许程序员在代码中插入信息,这些信息可以在编译时或运行时被编译器或虚拟机读取并处理。自定义编译期注解不仅能够提供代码的文档功能...

    Maven精品教程视频源码

    Maven使用中央仓库和本地仓库。中央仓库存储了大量的开源组件,本地仓库则缓存了项目依赖,避免重复下载。开发者也可以自建私有仓库。 **五、Maven源码分析** 在"2.代码"部分,你将有机会深入研究Maven的源码,...

    maven同步配置

    Maven的生命周期分为清理(clean)、编译(compile)、测试(test)、打包(package)、验证(verify)、集成测试(integration-test)、部署(install)和站点(site)等阶段。在每个阶段,Maven都有对应的默认...

    Maven2使用 搭建持续集成环境

    构建过程包括编译源代码、运行测试、生成文档和打包,最后将结果存入 `artifactdir` 供团队成员查看和使用。 通过这种方式,Maven2 和 CruiseControl 的结合使用可以实现高效、自动化的持续集成环境,帮助团队及时...

    java源码部署-scm2artifact-maven-plugin:从git下载并编译Java源代码,对其进行编译并作为工件进行部署

    repo,编译库然后将其导入到我的maven存储库中变得很烦人时,我已经编写了此插件。 先决条件 Maven的3.1+ 用法 只需将插件配置添加到您的项目中,指定要构建和导入的项目的git url 该插件将: 检出项目 调用mvn ...

    Maven Cron-开源

    使用Maven Cron时,开发者需要注意几个关键点:首先,确保cron.xml文件的配置正确无误,遵循cron表达式的语法;其次,要考虑到服务器资源的利用率,合理安排任务执行时间,避免在高峰期对服务器造成过大压力;最后,...

    传智168期JavaEE day46~day48笔记

    在传智168期JavaEE课程中,学生通过学习Maven了解到其在项目构建中的作用,包括编译、打包以及依赖管理等。本笔记将详细解读Maven的概念、作用、安装、目录结构规范、如何创建项目以及其配置文件pom.xml的编写。 ...

    黑马 49期 视频

    2. **插件**:Maven通过插件来完成各种构建任务,如编译源代码(compiler插件)、打包(jar插件)等。 3. **依赖管理**:Maven自动下载项目所需的JAR包,并解决依赖关系,避免手动处理依赖带来的复杂性。 4. **项目...

    传智播客 杰信

    在本项目中,我们将探讨Maven的使用、Web应用的结构以及如何通过Maven构建和管理Java Web项目。 Maven是一个强大的项目管理和依赖管理工具,它简化了构建过程,通过统一的构建生命周期和插件机制,使得项目配置标准...

    spring源码编译缺少jar包

    1. Spring-cglib-repack-3.2.5.jar:CGLIB(Code Generation Library)是一个Java字节码操纵库,它允许开发者在运行期扩展Java类与实现Java接口。在Spring框架中,CGLIB被广泛用于动态代理,主要是当目标对象不支持...

    spring-cglib-repack-3.2.5.jar spring-objenesis-repack-2.5.1.jar

    - **构建项目**:使用构建工具执行构建命令,如Maven的`mvn install`或Gradle的`gradle build`,这将编译源码、运行测试并生成jar包。 - **定制化构建**:如果需要针对特定需求进行修改,可以调整构建脚本或配置,...

    淘淘商城项目的源代码 第17期

    通过Maven,开发者可以轻松管理项目依赖关系,自动化构建过程(包括编译、测试、打包、部署等),并且可以生成项目报告。在本项目中,Maven被用来打包源代码,确保所有必要的库和依赖都被正确处理,使得项目可以直接...

    AbstractProcessor小例子

    4. **编译期代码生成**:在`process()`方法中,分析注解并生成对应的Java源代码。 5. **提高效率**:通过编译期代码生成,减少手动编写和维护重复代码的工作。 理解并熟练使用`AbstractProcessor`能够帮助开发者...

    spring Aop所需要的jar包

    再者,`aspectjweaver.jar`是AspectJ的编译器和编织器,用于在编译期或加载时进行切面的编织。当我们在项目中使用AspectJ的注解(如`@Aspect`、`@Before`等)时,就需要这个JAR包来处理这些注解并生成对应的字节码。...

    Java实现的license生成器

    1. Maven或Gradle:使用构建工具(如Maven或Gradle)来管理项目依赖和构建流程,确保源码和GUI组件能够正确编译和打包。 2. 主程序入口:创建主程序类,负责初始化GUI,并将License生成逻辑与GUI的事件处理相结合。...

Global site tag (gtag.js) - Google Analytics