当前位置:  开发笔记 > 编程语言 > 正文

如何将Maven配置文件值注入属性文件

如何解决《如何将Maven配置文件值注入属性文件》经验,为你挑选了2个好方法。

有点卡在这里.我有一个有3个配置文件的pom.Theese个人资料有不同的版本名称.我想在构建特定的配置文件时将该版本名称注入属性文件中.

我的档案:


    
        dev
        
            true
        
        
            DEV
        
    

    
        test
        
            true
        
        
            1.0.0-RC1
        
    

    
        prod
        
            true
        
        
            1.0.0-Final
        
    

和filter.properties看起来像这样:

projectName = defaultName
versionName = defaultVersion

怎么做?我按命令建立项目:

mvn clean install -D profile_name

Jorge Campos.. 7

您需要做的是在POM文件的部分添加一个新部分.

像这样:


    
        
            true
            
                **/*.properties
            
            src/main/resources
        
    

这将查看指定文件src/main/resources上的指定文件夹(),**/*.properties并在遇到已定义的变量时更改文件.

所以为了这项工作,你的属性文件必须是这样的:

projectName = ${defaultName}
versionName = ${defaultVersion}

请注意这些变量的名称.Maven将使用您定义的名称替换它,或者像$ {projectVersion}的Maven结构的名称将替换1.0为您的pom文件的标记.

所以不要使用:


     1.0.0-Final

将此变量的名称(和版本)更改为其他内容:


     1.0.0-Final
     someName

在您的所有配置文件

并运行您的maven命令:

mvn install -Pprofilename

很高兴它有效:)考虑接受它!如果是你的选择之一. (2认同)


malaguna.. 5

请注意您显示的配置文件.默认情况下它们都是活动的,这是一个问题,因为它们都定义了相同的maven属性.相反,您应该默认只将一个标记为活动.

您也不会显示要处理的过滤filter.properties,因此这也是一个错误.

最后,你可以在maven配置文件中控制工件版本.我不认为这是个好主意.请阅读maven-release-plugin.



1> Jorge Campos..:

您需要做的是在POM文件的部分添加一个新部分.

像这样:


    
        
            true
            
                **/*.properties
            
            src/main/resources
        
    

这将查看指定文件src/main/resources上的指定文件夹(),**/*.properties并在遇到已定义的变量时更改文件.

所以为了这项工作,你的属性文件必须是这样的:

projectName = ${defaultName}
versionName = ${defaultVersion}

请注意这些变量的名称.Maven将使用您定义的名称替换它,或者像$ {projectVersion}的Maven结构的名称将替换1.0为您的pom文件的标记.

所以不要使用:


     1.0.0-Final

将此变量的名称(和版本)更改为其他内容:


     1.0.0-Final
     someName

在您的所有配置文件

并运行您的maven命令:

mvn install -Pprofilename


很高兴它有效:)考虑接受它!如果是你的选择之一.

2> malaguna..:

请注意您显示的配置文件.默认情况下它们都是活动的,这是一个问题,因为它们都定义了相同的maven属性.相反,您应该默认只将一个标记为活动.

您也不会显示要处理的过滤filter.properties,因此这也是一个错误.

最后,你可以在maven配置文件中控制工件版本.我不认为这是个好主意.请阅读maven-release-plugin.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有