gpt4 book ai didi

spring - 在 POM 中访问 Spring 配置文件特定的应用程序属性

转载 作者:行者123 更新时间:2023-12-02 00:37:40 25 4
gpt4 key购买 nike

我找不到任何解释如何在 pom.xml 中访问 spring 配置文件特定应用程序属性的内容。这可能吗?我找到了很多关于做相反事情(访问应用程序中的 Maven 配置文件属性)的信息,但没有关于此的信息。

我的具体用例是能够从如下所示的属性文件中设置 Tomcat 插件中的 Tomcat 管理器 URL。请记住,我的问题只是标题中的内容,我并不是在寻求有关配置 Tomcat 插件的帮助,因此我不会将其包含在问题标签中。

<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>${tomcat.manager.url}</url>
<server>${tomcat.server.name}</server>
</configuration>
</plugin>

我的 POM 中有这些配置文件:

<profiles>
<profile>
<id>dev</id>
<properties>
<activatedProperties>dev</activatedProperties>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<activatedProperties>test</activatedProperties>
</properties>
</profile>
</profiles>

这在同一个 POM 的构建元素中:

<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>

在我的 application.properties 中:

# active profile placeholder for the active maven profile. Defaults to dev.
spring.profiles.active=@activatedProperties@

在我的application-test.properties中:

tomcat.manager.url=http://mydomain:8080/manager/text
tomcat.server.name=myserver

但是当我跑的时候_

mvn tomcat7:redeploy -DskipTests -P test

它不会尝试部署到 http://mydomain:8080/manager/text,而是使用默认的 localhost:8080

最佳答案

参见 read-project-properties Properties Maven Plugin 的目标:

The read-project-properties goal reads property files and URLs and stores the properties as project properties.

因此,将以下内容添加到您的 POM 中:

  <build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${project.basedir}/src/main/resources/application-test.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

关于spring - 在 POM 中访问 Spring 配置文件特定的应用程序属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48690397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com