您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring Boot:是否可以在带有胖子的任意目录中使用外部application.properties文件?

Spring Boot:是否可以在带有胖子的任意目录中使用外部application.properties文件?

使用-jar选项时,我设法在外部路径中加载了application.properties文件

关键是PropertiesLauncher。

要使用PropertiesLauncher,必须按以下方式更改pom.xml文件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>  <!-- added -->
                <layout>ZIP</layout> <!-- to use PropertiesLaunchar -->
            </configuration>
        </plugin>
    </plugins>
</build>

构建jar文件之后,通过检查jar中Meta-INF / MENIFEST.MF中的Main- Class属性,可以看到使用了PropertiesLauncher。

现在,我可以按以下方式运行jar(在Windows中):

java -Dloader.path=file:///C:/My/External/Dir,MyApp-0.0.1-SNAPSHOT.jar -jar MyApp-0.0.1-SNAPSHOT.jar

请注意,应用程序jar文件包含在loader.path中。

现在,已加载C:\ My \ External \ Dir \ config中的application.properties文件

另外,Jar也可以访问该目录中的任何文件(例如,静态HTML文件),因为它位于加载程序路径中。

至于UPDATE 2中提到的非jar(扩展)版本,可能存在类路径顺序问题。

Java 2022/1/1 18:17:27 有581人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶