Spring Boot 打包部署

自定义配置文件

SpringBoot 以Jar方式打包运行时,通常会把配置文件放到Jar外面,目的是为了方便部署时调整相关配置。针对此场景以及不想使用application.properties作为配置文件时,我们可以在启动类中使用 @PropertySource 指定配置文件。

首先,在项目中新建 config 文件夹,将 config.conf 配置文件放到config文件夹中

@SpringBootApplication
@EnableScheduling//启用定时任务
@PropertySource(value={"file:config/config.conf"})//指定配置文件,不使用默认的application.properties
public class StartApplication {
	public static void main(String[] args) {
		SpringApplication.run(StartApplication.class, args);
	}
}

创建启动批处理程序 startup.bat

@echo off
title SpbootTest-Jar
java -jar spboot-project.jar
pause

文件目录

jar-bat
    - startup.bat
    - spboot-project.jar
    - config
        - config.conf

pom.xml 文件配置 程序入口

com.spboot.StartApplication

<build>
		<finalName>MyProject</finalName>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<!-- 开发环境的调试>> -->
				<configuration>
					<fork>true</fork>
					<mainClass>com.spboot.StartApplication</mainClass><!-- 打包Jar文件,标明程序入口 -->
				</configuration>
			</plugin>
			
			
			<!-- 将引用到的jar导出到编译目录 BEGIN -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<classpathPrefix>lib/</classpathPrefix>
							<mainClass></mainClass>
						</manifest>
					</archive>
					
					<!-- 打包排除配置 -->
					<excludes>
						<exclude>**/*.conf</exclude><!-- 打包时,排除  .conf 的配置文件 -->
						<exclude>**/*.txt</exclude><!-- 打包时,排除  .txt 的配置文件 -->
						<!-- <exclude>logback.xml</exclude> 打包时,排除  logback.xml配置文件 -->
					</excludes>
					
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<executions>
					<execution>
						<id>copy</id>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/lib</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<!-- END -->
			
		</plugins>
	</build>


外置配置文件 -ERROR

该类配置方式目前测试还存在一些问题

SpringBoot 会按优先级从下面这些路径来加配置文件,具体顺序如下:

  • 当前目录下的/config目录
  • 当前目录
  • classpath里的/config目录
  • classpath 跟目录
    因此,要外置配置文件就很简单了,在jar所在目录新建config文件夹,然后放入配置文件,或者直接放在配置文件在jar目录

运行时,指定选用配置文件

该类配置方式目前测试还存在一些问题

java -jar myproject.jar --spring.config.name = myproject

java -jar myproject.jar --spring.config.location = classpath:/default.properties,classpath:/override.properties

java -jar -Dspring.config.location=D:\default.properties analysis-speech-tool-0.0.1-SNAPSHOT

java -jar xxx.jar --spring.config.location=D:\ --logging.config=D:\logback.xml

mvn package
mvn clean package

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值