电子商务网站运营与管理如何免费找精准客户
默认情况下,springboot 以下目录为默认的静态资源目录。其中的静态资源可以被直接访问:
classpath:/META-INF/resources/
classpath:/resources/
classpath:/static/
classpath:/public/
${user.dir}/public/
(程序运行目录下的public
目录)
优先级从上往下,当多个静态资源目录中出现同名文件时,越靠上的目录权重越高。
配置用于指定静态资源的目录,它是一个数组,可以配置多个路径。默认值为:[classpath:/META-INF/resources/, classpath:/resources/, classpath:/static/, classpath:/public/]
。静态资源目录不仅可以是 classpath
下的目录,也可以是本地磁盘目录,使用 file:
前缀进行配置,如
spring.resources.static-locations[0]=file:D:\\upload\\
还可以配合 ${}
语法,从环境变量、系统属性中读取目录信息,例如,设置应用启动目录下的 public
目录为静态资源目录:
# ${user.dir} 的值也就是 System.getProperty("user.dir")
spring.resources.static-locations[0]=file:${user.dir}\\upload\\
1、修改配置文件,把jar包同级文件夹下的static设置为第一个目录
springboot版本2.3.5配置是 spring.resources.static-location
spring:resources:static-locations:- file:./static/- classpath:/META-INF/resources/- classpath:/resources/- classpath:/static/- classpath:/public/
高版本的springboot的配置可能是spring.web.resources.static-location
2、pom.xml配置把配置文件和静态资源复制出来
<build><plugins><!-- Spring Boot 打包插件 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- 测试管理插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skipTests>true</skipTests></configuration></plugin><!-- 编译器插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.10.1</version></plugin><!-- 依赖管理插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.8</version><executions><!-- 将jar复制到根目录的target文件夹下 --><execution><id>copy-jar</id><phase>package</phase><goals><goal>copy</goal></goals><configuration><artifactItems><artifactItem><groupId>${project.groupId}</groupId><artifactId>${project.artifactId}</artifactId><version>${project.version}</version><type>${project.packaging}</type><destFileName>${project.parent.artifactId}.jar</destFileName></artifactItem></artifactItems><outputDirectory>../target</outputDirectory></configuration></execution></executions></plugin><!-- 资源处理插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>3.2.0</version><executions><!-- 复制配置文件到配置目录 --><execution><id>filter-config-resources</id><phase>process-resources</phase><goals><goal>copy-resources</goal></goals><configuration><!-- 指定resources文件 --><resources><resource><directory>src/main/resources</directory><!-- 分环境过滤开启 --><filtering>true</filtering><includes><include>*.yml</include><include>logback-spring.xml</include><include>banner.txt</include></includes></resource></resources><!-- 更改输出目录 --><outputDirectory>../target/config</outputDirectory></configuration></execution><!-- 复制静态资源到静态资源目录 --><execution><id>copy-static-resources</id><phase>process-resources</phase><goals><goal>copy-resources</goal></goals><configuration><resources><resource><directory>src/main/resources</directory><!-- 分环境过滤关闭 --><filtering>false</filtering><includes><include>static/**</include></includes></resource></resources><!-- 输出路径 --><outputDirectory>../target/</outputDirectory></configuration></execution></executions></plugin></plugins></build>
3、打包后有一个jar包,一个static文件夹,一个config文件夹。
更新前端可以直接替换static文件夹中的前端,无需重启jar包服务。
修改配置可以直接修改config文件夹中的配置文件,修改后需要重启jar包的服务。