精华内容
下载资源
问答
  • @Value注解获取不到pom配置的值

    千次阅读 2017-11-10 11:53:48
    遇到问题:在UrlUtil类中通过@Value("${gold.url}")获取不到pom中配置的...一、获取pom配置的路径方法 @Service public class UrlUtil { @Value("${gold.url}") private String goldUrl; public String ge

     遇到问题:在UrlUtil类中通过@Value("${gold.url}")获取不到pom中配置的变量值,而获取的是变量名。文件如下:

    解决办法:在


    一、获取pom中配置的路径方法

    @Service

    public class UrlUtil {

    @Value("${gold.url}")
    private String goldUrl;

    public String getUrl(String urlType, String systemid) {
    Map<String,String> urlMaps = new HashMap<String,String>();
    urlMaps.put("gold_qm", goldUrl);

    if (urlType!=null&&systemid!=null) {
    return urlMaps.get(urlType+"_"+systemid);
    }
    return null;
    }

    }


    二、pom配置gold.url 变量,局部代码



    三、使用@Value("${gold.url}")注入要在,database.properties文件中添加变量占位,不然报如下错误

    Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.qmc.sportbetting.util.HttpHelper com.qmc.sportbetting.controller.CupRecordController.httpHelper; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'httpHelper': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.qmc.sportbetting.util.UrlUtil com.qmc.sportbetting.util.HttpHelper.urlUtil; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'urlUtil': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private java.lang.String com.qmc.sportbetting.util.UrlUtil.goldUrl; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'gold.url' in string value "${gold.url}"
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:561)
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)
    ... 22 more


    database.properties文件配置如下:



    四、解决问题所在

        之所以在获取不到@Value("${gold.url}")注入的值,只因为在mvc-config.xml中配置扫描路径时没有添加use-default-filters="false" 可能导致所有含注解的类重复加载,因此没获取到值。


    添加上后能正常获取到@Value注入的值。

    具体可参考 :<context:component-scan>详解这篇文章。











    展开全文
  • Maven —— pom配置文件

    千次阅读 2019-05-27 15:55:48
    简介 Project Object Model(POM):项目对象模型,是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述...它读取 POM获取所需的配置信息,然后执行目标。 Maven 工程的核心配置。 ...

    简介

    Project Object Model(POM):项目对象模型,是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。将 Java 工程的相关信息封装为对象作为便于操作和管理的模型。执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。

    Maven 工程的核心配置。

    Maven 的坐标

    使用如下三个向量在 Maven 的仓库中唯一的确定一个 Maven 工程:

    1. groupid:这是工程组的标识。它在一个组织或者项目中通常是唯一的。例如,一个银行组织 com.companyname.project-group 拥有所有的和银行相关的项目。
    2. artifactId:这是工程的标识。它通常是工程的名称。例如,消费者银行。groupId 和 artifactId 一起定义了 artifact 在仓库中的位置。
    3. version:这是工程的版本号。在 artifact 的仓库中,它用来区分不同的版本。

    例如

        <groupId>com.hern</groupId>
        <artifactId>maven-test1</artifactId>
        <version>1.0-SNAPSHOT</version>

    依赖

    Maven 中最关键的部分,使用 Maven 最主要的就是使用它的依赖管理功能。要理解和掌握 Maven 的依赖管理,我们只需要解决一下几个问题:

    依赖的目的是什么 当 A jar 包用到了 B jar 包中的某些类时,A 就对 B 产生了依赖,这是概念上的描述。那么如何在项目 中以依赖的方式引入一个我们需要的 jar 包呢? 答案非常简单,就是使用 dependency 标签指定被依赖 jar 包的坐标就可以了。

    依赖的范围 大家注意到上面的依赖信息中除了目标 jar 包的坐标还有一个 scope 设置,这是依赖的范围。依赖的范 围有几个可选值,我们用得到的是:compile、test、provided 三个。

    [1]从项目结构角度理解 compile 和 test 的区别 

     结合具体例子:对于 HelloFriend 来说,Hello 就是服务于主程序的,junit 是服务于测试程序的。 HelloFriend 主程序需要 Hello 是非常明显的,测试程序由于要调用主程序所以也需要 Hello,所以 compile 范围依赖对主程序和测试程序都应该有效。 HelloFriend 的测试程序部分需要 junit 也是非常明显的,而主程序是不需要的,所以 test 范围依赖 仅仅对于主程序有效。
    [2]从开发和运行这两个不同阶段理解 compile 和 provided 的区别

    [3]有效性总结

    ④依赖的排除 如果我们在当前工程中引入了一个依赖是 A,而 A 又依赖了 B,那么 Maven 会自动将 A 依赖的 B 引入当 前工程,但是个别情况下 B 有可能是一个不稳定版,或对当前工程有不良影响。这时我们可以在引入 A 的时 候将 B 排除。 

    ⑤统一管理所依赖 jar 包的版本 对同一个框架的一组 jar 包最好使用相同的版本。为了方便升级框架,可以将 jar 包的版本信息统一提 取出来。

    例如: 

    <?xml version="1.0" encoding="UTF-8"?>
    <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.hern</groupId>
    
        <!--项目名称-->
        <artifactId>maven-test1</artifactId>
    
        <!--版本号-->
        <version>1.0-SNAPSHOT</version>
        
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>RELEASE</version>
                <scope>compile</scope>
            </dependency>
        </dependencies>
    
    </project>

     

    展开全文
  • xml文件中无法获取pom.xml文件中的属性问题描述取值失败原因及解决方法 问题描述 logback-spring.xml 文件中无法获取 pom.xml 文件中的属性,获取到的值为 undefined。 取值失败原因及解决方法 在maven的pom文件中...

    xml文件中无法获取pom.xml文件中的属性

    问题描述

    logback-spring.xml 文件中无法获取 pom.xml 文件中的属性,获取到的值为 undefined。

    取值失败原因及解决方法

    在maven的pom文件中进行了多环境变量配置,引用了maven-resources-plugin,在logback.xml文件中通过以下方式获取项目名称,最终取值失败 undefined。

    	<property name="LOGS" value="/var/logs/${project.name}" />
    
    1. pom.xml 打包中缺少下面配置,需要添加上去
    	<resources>
    	    <resource>
    	        <directory>src/main/resources</directory>
    	        <filtering>true</filtering>
    	    </resource>
    	</resources>
    
    1. 由于 ${} 方式会被maven处理。如果你的pom继承了spring-boot-starter-parent,SpringBoot会将maven-resources-plugins默认的${}方式改为了@@方式,如@name@,此时若要使用${}取值则需在pom.xml文件中添加如下配置:
    // 方式一
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <encoding>utf-8</encoding>
                        <useDefaultDelimiters>true</useDefaultDelimiters>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    
    // 方式二
    
    <configuration>
    	<delimiters>
    	    <delimiter>@</delimiter>
    	</delimiters>
    	<useDefaultDelimiters>false</useDefaultDelimiters>
    </configuration>
    // 将<useDefaultDelimiters>false</useDefaultDelimiters>改为<useDefaultDelimiters>true</useDefaultDelimiters>
    
    展开全文
  • 在maven的pom文件中进行了多环境变量配置,引用了maven-resources-plugin,在application.properties文件中通过以下配置指定不同环境下的配置文件, spring.profiles.active = ${profiles.active} 但是${...

    在maven的pom文件中进行了多环境变量配置,引用了maven-resources-plugin,在application.properties文件中通过以下配置指定不同环境下的配置文件,

    spring.profiles.active = ${profiles.active}

    但是${profiles.active}无法从pom文件中获取变量值替换。

    由于${}方式会被maven处理。如果你pom继承了spring-boot-starter-parent,Spring 
    Boot已经将maven-resources-plugins默认的${}方式改为了@@方式,如@name@

    如果还想继续使用${}占位符方式,只需要在pom文件中加上下面配置即可: 

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <encoding>utf-8</encoding>
                        <useDefaultDelimiters>true</useDefaultDelimiters>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    
    
    或者使用
    
    <configuration>
                        <delimiters>
                            <delimiter>@</delimiter>
                        </delimiters>
                        <useDefaultDelimiters>false</useDefaultDelimiters>
                    </configuration>
    
    
    将<useDefaultDelimiters>false</useDefaultDelimiters>
    改为<useDefaultDelimiters>true</useDefaultDelimiters>
    展开全文
  • 获取pom文件的内容:例如版本号

    千次阅读 2020-09-23 15:09:24
    在application.yml或者application.properties上用@project.XXX@ ...但是前提 还需要在当前的pom文件中添加如下配置: 1、plugins下面的 <plugin> <groupId>org.apache.maven.plugins</.
  • 根据开发场景需要,在*.properties或者*.xml中读取pom.xml中配置的参数,如下在pom.xml中的&lt;properties&gt;&lt;/properties&gt;中配置自己的参数。&lt;properties&gt; &lt;mypath&...
  • POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个...它读取 POM获取所需的配置信息,然后执行目标。 在创建 POM 之前,我们首先需要描述项目组 (groupId), 项目的唯一ID。 <...
  • maven配置文件pom

    2018-11-20 15:10:18
    当执行任务或项目时,maven会在当前目录中查找pom,读取pom文件,获取所需的配置信息,然后执行目标。 pom中可以指定以下配置: 项目依赖、插件、执行目标、项目构建profile、项目版本、项目开发者列表、相关邮件...
  • 这几天搞了一下mongodb到springboot 在配置我使用了yml的配置文件 在引用pom文件配置时需要进行配置才可以使用@@...-- 使用 @@ application.yml 获取pom文件中的配置 --> <resources> <resource> ...
  • 看报错信息就知道是无法从远程仓库获取配置的依赖jar包 原因可能有两个 1.maven仓库配置的有问题 在setting.xml中,确认Maven仓库配置没有问题,通常我们采用阿里云镜像,配置public即可,关于public,cetral的...
  • src/main/resources **/*.properties **/*.xml true src/main/java ...
  • 执行任务或目标时,Maven 会在当前目录中查找并读取 POM获取所需的配置信息,然后执行目标。 POM文件中可以指定以下配置信息: 项目依赖 插件 执行目标 项目构建 profile 项目版本 项目开发者列表 相关邮件列表...
  • SpringBoot 获取yml配置文件信息

    千次阅读 2020-01-10 16:13:20
    1.@ConfigurationProperties获取yml配置文件信息 1.1:pom配置 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> ...
  • Maven pom.xml配置小记

    2018-06-19 11:19:38
    pom.xml配置 Maven parent.relativePath,默认值为pom.xml 查找顺序: relativePath元素中的地址–本地仓库–远程仓库 &amp;lt;relativePath/&amp;gt;: 设置为空值,始终从仓库获取,不从本地获取 ...
  • Maven POM POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个...它读取 POM获取所需的配置信息,然后执行目标。 POM 中可以指定以下配置: 项目依赖 插件 执行目标 项目构建...
  • json获取nacos配置信息

    千次阅读 2019-11-22 10:05:29
    //从配置文件获取机构允许创建的试听课次数 private Integer getAuditionLessonCount(Long platformId){ String config = nacosConfig.getConfig(“auditionLessonCount”); JSONObject object = JS...
  • 我们需要在pom配置文件中声明需要使用的资源的坐标即可。 注意: 当pom文件被修改的时候,maven会自动的重新加载pom文件,并根据文件的最新内容加载最新的资源。可以理解为maven给pom文件增加了一个onchange的事件。...
  • org.restlet maven pom.xml配置

    千次阅读 2016-08-31 15:39:20
    若要使用org.restlet包,则需在maven 的配置文件pom.xml中,单独配置获取仓库: maven-restlet Public online Restlet repository http://maven.restlet.org 然后再引用: org.restlet.jse o
  • Dom4j获取xml配置文件

    2018-07-10 11:48:26
    xml配置内容:maven pom配置: &lt;dependency&gt; &lt;groupId&gt;dom4j&lt;/groupId&gt; &lt;artifactId&gt;dom4j&lt;/artifactId&gt; &lt;version&gt;...
  • 从github获取的SpatialHadoop 2.4源码配置,出现Maven配置依赖项错误。
  • maven中pom.xml获取依赖包

    千次阅读 2016-10-10 15:43:34
    maven配置好后,如果你是导入原项目,它会自动把原项目的依赖包加载进来;但是如果是你自己新加依赖包,要如何加呢?下面我们就简单的来说下 pom.xml maven项目一定会存在的一个xml,里面存放项目的依赖包信息 1、...
  • pom配置 html内容 1 通过注解 1.1 在properties文件下配置属性 1.2 利用@Value注解将对应的属性注入到field上 1.3 请求结果如下 2 通过PropertiesLoaderUtils 利用org.springframework.core.io...
  • Maven POM

    2021-01-03 02:08:40
    它读取 POM获取所需的配置信息,然后执行目标。 POM 中可以指定以下配置: 项目依赖 插件 执行目标 项目构建 profile 项目版本 项目开发者列表 相关邮件列表信息 在创建 POM 之前,我们首先需要描述项目组 ...
  • 文章目录一、使用@ConfigurationProperties实现获取二、使用@Value实现获取三、对比 SpringBoot: 2.2.1.RELEASE IDE: IDEA 使用模块和POM文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=...
  • 有时候配置文件需要读取pom文件配置<properties></properties>中间自定义属性值的时候可以用@@获取 例:@package.parameter@ 然后还需要在pom.xml中打开过滤才可以  <build> <resources&...
  • pom.xml使用多套环境及变量获取

    千次阅读 2017-07-27 15:57:52
    一般来说,开发、测试、生产的环境都不一样,反复修改配置文件比较麻烦,还容易出错,项目在pom.xml文件中使用了profiles属性,配置了多套环境,有两个比较关键的问题 以下是pom.xml文件中相关代码 <id>dev ...
  • Spring完整配置文件和pom依赖 后续有SpringMVC和Spring boot 所以 配置文件和依赖整合了现在的Mybatis、Junit、Transactional、PageHelper、JdbcTemplate,后续的web等配置和依赖在Spring boot中完整配置。 注: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,064
精华内容 425
关键字:

获取pom配置