当前位置: 首页 > 知识库问答 >
问题:

不能从spring maven tomcat中的配置文件开始

丘学海
2023-03-14

我需要使用spring的配置文件。我使用本地的Tomcat。在pom中有maven项目。我补充说:

<profiles>
        <profile>
            <id>dev</id>
            <activation>
                <property>
                    <name>spring.profiles.active</name>
                    <value>dev</value>
                </property>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>8.0.11</version>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>at1</id>
            <activation>
                <activeByDefault>true</activeByDefault>
                <property>
                    <name>spring.profiles.active</name>
                    <value>at1</value>
                </property>
            </activation>
        </profile>
    </profiles>

在应用中。属性添加了spring。简介。active=${activatedProperties}注意:spring。简介。active=@activatedProperties@也已尝试

有两个文件application-at1.properties和application-dev.properties

当使用-Dspring构建战争时。简介。active=dev有错误消息-找不到此文件中的参数。

我的tomcat定制包括:

共有1个答案

高运诚
2023-03-14

不能确切地告诉你在哪里,但在我看来,你正在使用一个属性占位符,Spring Boot没有拿起一个配置文件,因为占位符实际上没有价值。

您可以通过以下方式对此进行配置:

使用属性占位符:

application.properties

spring.profiles.active=${activatedProperties}

pom.xml

<property>
   <name>activatedProperties</name>
   <value>dev</value>
</property>

只需指定运行时参数

删除属性从pom.xml和调整您的application.properties与一些默认值或不指定它在所有

spring.profiles.active=at1 #you can remove this line if you want.

然后使用参数-Dspring运行war。简介。活动=开发

使用Maven配置文件

您可以使用-P dev运行maven,以确保目标以正确的配置文件执行。

 类似资料:
  • 线程“main”组织中出现异常。springframework。豆。工厂BeanDefinitionStoreException:IOException解析来自类路径资源[com/main/beans.XML]的XML文档;嵌套的例外是java。伊奥。FileNotFoundException:无法打开类路径资源[com/main/beans.xml],因为它不存在 我以前试过用 它工作得很好。

  • 问题内容: 在我的application.yml中,我得到了: 还有其他一些使用不同的配置文件。启动应用程序时,我得到以下信息: 如果我只是将log4j2.xml放在已分析的文件旁边,则它可以工作。所以我认为这是我错过依赖关系的原因,或者使用log4j2无法实现? 问题答案: 在我这边,我正在使用属性文件而不是Yaml文件。我需要两个日志文件:一个将所有内容记录到控制台,另一个用于记录文件。因此,

  • 应用程序-dev.properties application.prod.properties 然后,我有一个pom,它将spring-boot pom作为父pom 然后我按以下方式设置配置文件:

  • 我试图在没有aws概要文件设置的远程无服务器服务器上运行python代码。查看boto3文档后,我会说: 我将获得一个新的boto3名称配置文件,但我得到一个错误: secret_class=get_secret(名称、地区、概况) 文件“/metaflow/func\u get\u aws\u secrets.py”,第45行,在get\u secret session=boto3.sessio

  • 我查看了过去的堆栈跟踪,我有所有正确的设置。我认为这更多的是配置文件的问题。 我没有使用git作为数据源,而是使用S3,但它可以工作,当我运行时在我的本地 http://localhost:8086/application/default 它返回 在我的pom上,我已经准备好了春靴 Spring的云是 春云已设置 设置启动器配置 在我设置的客户端的应用程序yml中 @actiatedPropert

  • 我正在使用log4j的现有系统上工作,我想更新到log4j2。 有一个自定义Springbean从文件加载配置。我需要保持这种方法。我不能使用"log4j.configuration文件"系统属性。 我们有一个属性文件,其中指定了当前log4j.xml的路径(NFS共享) Springbean有以下代码。。。 } 在log4j2中,没有PropertyConfiguration。如何加载log4j