- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用自定义 .properties 文件为不同的环境(生产、开发、暂存)配置 PropertySourcesPlaceholderConfigurer?在部署 spring 时抛出“无法解析字符串值“classpath:${property.placeholder}”中的占位符 'property.placeholder'”“
这是我的 pom.xml
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<property.placeholder>_developer.properties</property.placeholder>
</properties>
</profile>
<profile>
<id>staging</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<property.placeholder>_staging.properties</property.placeholder>
</properties>
</profile>
<profile>
<id>production</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<property.placeholder>_production.properties</property.placeholder>
</properties>
</profile>
</profiles>
这里是 PropertySourcesPlaceholderConfigurer 配置
static @Bean
public PropertySourcesPlaceholderConfigurer myPropertySourcesPlaceholderConfigurer() {
PropertySourcesPlaceholderConfigurer p = new PropertySourcesPlaceholderConfigurer();
org.springframework.core.io.Resource[] resourceLocations = new org.springframework.core.io.Resource[] {
new ClassPathResource("${property.placeholder}")
};
p.setLocations(resourceLocations);
return p;
}
它在 xml spring 配置中工作,但如果我使用 java 配置则不起作用。知道它是如何工作的吗?
最佳答案
我找到了另一种方法来做我想做的事:
首先我将这个插件添加到我的 pom.xml 中的构建部分:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<id>1</id>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>src/main/resources/${property.placeholder}</file>
</files>
</configuration>
</execution>
<execution>
<id>2</id>
<phase>generate-resources</phase>
<goals>
<goal>write-project-properties</goal>
</goals>
<configuration>
<outputFile>
${project.build.outputDirectory}/application.properties
</outputFile>
</configuration>
</execution>
</executions>
</plugin>
第二次我在我的 spring 配置文件中修改 PropertySourcesPlaceholder 配置:
static @Bean
public PropertySourcesPlaceholderConfigurer myPropertySourcesPlaceholderConfigurer() {
PropertySourcesPlaceholderConfigurer p
= new PropertySourcesPlaceholderConfigurer();
org.springframework.core.io.Resource[] resourceLocations
= new org.springframework.core.io.Resource[] {
new ClassPathResource("application.properties")
};
p.setLocations(resourceLocations);
return p;
}
我还将此注释添加到我的 spring 配置类中:
@PropertySource("classpath:application.properties")
所以现在我将依赖环境的属性写入不同的属性文件(如“_developer.properties”或“_staging.properties”),当我使用 Maven 构建项目时,它已被复制到我使用的“application.properties”在 PropertySourcesPlaceholder 配置中
关于java - 使用自定义 ClassPathResource 配置 Spring 4 PropertySourcesPlaceholderConfigurer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29704901/
springboot工具类中读取配置文件 1、创建配置文件(application.properties) ?
在我的应用程序中,我想使用文件夹中存在的资源 media/src/main/resources/testMediaExif 为了获得该路径,我使用了位于 media/src/main/java/com
这个问题已经有答案了: BeanFactory vs ApplicationContext (22 个回答) 已关闭 8 年前。 以下两条语句显然都是用于加载 xml 配置,但它们之间有什么区别? A
我正在 Spring 迈出第一步。在我的项目中,我需要使用 SOAP HTTPS Web 服务。我添加了JKSKeyManager用于测试配置 xml 和 ClassPathResource 的 be
我正在尝试检索类路径中的文件列表,但 Spring 返回的是 FileSystemResources 的 Resource[] 而不是 ClassPathResources。代码如下所示: PathM
更新:我仍然会将 Artem Bilan 的答案标记为正确,但我仍然觉得我需要向 future 的读者指出这一点。看来我误解了 @Value 注释的“默认值”的概念。我希望通过使用实现的功能 @Val
我的 Web 应用程序使用 Spring 4.3.5。我们需要从 jar 本身加载一个存储在我们的 JAR 类路径之一中的 Freemarker 模板。 让我尽量概括一下我的场景(稍后我会提供代码)
使用 Spring 引导。我正在尝试使用 Apache POI 库解析项目中本地存储的 Excel 文件。我的目录结构是这样的: 源代码 主要内容 java com.app Controller 型号
在我的 Spring Boot 1.5 应用程序中,我使用 ClassPathResource 读取应用程序 JAR 的静态文件: // ... import org.springframework.
我们在一个驱动器上有一个文件 (C:\megzs\realm.properties)。我们想加载此文件并使用 Spring 中可用的 ClassPathResource 读取内容。但是我们看到文件未找
ClassPathResource.getFile() 抛出 FileNotFoundException。这是代码片段: ClassPathResource emsInitResource =
我已经为以下问题苦苦挣扎了两天,但无法解决它。 我正在尝试在 Spring Boot Rest 应用程序中提供静态 pdf。它应该非常简单,但我就是无法让它工作。 首先,我只是将 pdf 放在资源文件
如何使用自定义 .properties 文件为不同的环境(生产、开发、暂存)配置 PropertySourcesPlaceholderConfigurer?在部署 spring 时抛出“无法解析字符串
我有一个奇怪的问题: 在 src/main/resources 我有一个“template.xlsx”文件。 如果我这样做: InputStream is = new ClassPathResourc
我在该位置有文件 --src --> main --> config --> application --> context --> reference
我正在尝试从 jar 文件加载 message.properties 文件,但它没有找到该文件(我已经尝试了几个小时)。 messages/mes
我正在将项目从基于 xml 的配置迁移到基于 java 的配置。 我能够成功定义除一个之外的所有 bean。XMLViewResolver我们使用的是 JasperReports,因此所有 jrxml
我需要能够从 Spring Boot 模板生成 PDF。为此,我使用 PDF 渲染库 (FlyingSaucer),它基本上可以正确完成工作。然而,存在一个问题:当页面上有“href”标签时,当 PD
我拥有所有必需的 JAR。尽管面临以下问题: java.lang.ClassCastException: org.drools.io.impl.ClassPathResource cannot be
我是一名优秀的程序员,十分优秀!