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

无法从War文件外找到application.properties文件

索瀚海
2023-03-14

描述:

配置数据源失败:未指定“URL”属性,无法配置嵌入的数据源。

原因:无法确定合适的驱动程序类

为了外部化属性文件,我使用了以下代码。

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder
            .properties("spring.config.name:" + AppConstants.Config.APPLICATION_PROPERTY_NAME,
                    "spring.config.location:" + AppConstants.Config.APPLICATION_PROPERTY_SOURCE_PATH)
            .sources(AssessmentAggregatorApiApplication.class);
}

appconstants.config.APPLICATION_PROPERTY_NAME=String APPLICATION_PROPERTY_SOURCE_PATH=String APPLICATION_PROPERTY_SOURCE_PATH=“file:////mnt/assessment_aggregator/data/pdf/”;的值,并将此代码添加到pom.xml文件中,用于将application.properties文件从我使用的war文件中排除。

 <resources>
     <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <excludes>
            <exclude>**/*.properties</exclude>
        </excludes>
    </resource> 
   </resources>

共有1个答案

耿志义
2023-03-14

您可以使用另一个放置在目标文件夹中的属性源和点。

例如:

@PropertySources({@PropertySource(value="file:somefolder/conf/bootstrap.properties", ignoreResourceNotFound=true), 
    @PropertySource(value="file:conf/bootstrap.properties", ignoreResourceNotFound=true)})

在服务器上,文件保存在SomeFolder/conf中,然后加载在文件中定义属性。

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

@Value("${datasource.username}")
private String username;

@Value("${datasource.password}")
private String password;
 类似资料:
  • 我有一个带有一个测试类dbtest的maven模块。运行测试时,不会提取属性文件application.properties。DvsTestDbConfig中的行system.out.println显示的是{database.test},而不是qqqqqqqqq(暂时为虚拟值)。知道为什么spring找不到属性文件吗? DBTest DVSTestDBConfig

  • 我正在将旧的Jenkins构建迁移到新的声明性管道。现在我已经建立并运行了,我需要从git获取JenkinsFile(而不是将其留在Jenkins窗口中)。问题是Jenkins从Git获取文件,但在拉动后在错误的位置查找它。这是配置: 这是我在詹金斯日志中得到的信息: 似乎构建代理正在主Jenkins服务器机器上的某个位置寻找Jenkins文件。构建机器是windows机器,因此 /u03/jen

  • 我试图用Spring Boot配置DynamoDb客户机,并将我的endpoint和配置信息放置在我的resources/application.properties文件中。但Spring Boot似乎并没有拾起这些属性。它确实会拾取我存储在同一文件中的“server.default”键,因此它肯定会识别文件本身。 下面是我的application.properties文件和我试图将属性加载到(D

  • 我有一个maven Spring Boot应用程序,并且成功地从IntelliJ打包了一个war文件。对于一个测试,我在本地运行jetty,并将war文件放在webapps目录中,但是我得到了这个错误: /hallo-->O.E.J.W.webappContext@6C86E993{/hallo,[文件:///C:/users/ricardo/appdata/local/temp/jetty.0.

  • 我已尝试使用和批注。 我还尝试在pom.xml文件的标记中包含标记。 我还尝试将添加到 什么都不起作用 null null null user.java 点击URL应该会给出我们想要的输出,但结果却是404。而点击则会得到所需的输出。这意味着applicaiton没有读取application.properties文件,因为api的默认路由在该文件中设置为。

  • 我已经创建了一个SpringBoot应用程序,并且我将Application.properties放置在jar文件的同一个文件夹中。这是文件的内容: 当我在jar文件夹外运行/bin/java-jar/opt/apl/org.web.exemplo-java-maven.1.0.0-90/org.web.exemplo-java-maven-1.0.0-90.jar时,它不读取applicatio