SpringBoot - resource资源文件的打包配置详解(指定资源文件位置)
(1)默认 Spring Boot 项目结构,资源文件放置在 src/main/resources 中,测试的资源文件在 src/test/resources 中。
src/main/resources 与 src/test/resources 的区别:
(2)将项目打包后,解压 jar 可以发现原先 src/main/resources 目录下的资源文件已经被打包进来了:
(3)但有时我们的资源文件并不一定是放在 src/main/resources 目录下,比如我的项目通常会将资源文件放在 src/test/resources 目录下:
原敬首高因:根据实践经验表明,测试完后的配置项是最完整芹戚的,且经常会忘记替换正式版参数,因而选择将配置文件全部放置在 src/test/resources 目录下。
(4)又比如 mybatis 的 mapper.xml 文件,我们习惯把它和 Mapper.java 放一起
(5)但上面这两种情况的资源文件,在使用 maven 打包时是不会被打包进 jar 的。这时候我们便要指定需要打包的资源文件,这个有如下两种方法可以实现。
(1)resources 标签位于 build 标签内,用于指定项目资源文件的位置。比如下面配置我们指定了 src/test/resources 也是资源文件目录:
(2)而对于写在包下的 Mapper.xml 文件,我们则可以通过如下配置指明资源文件位置:
提示:其中 * / 这样的写法,是为了保证各级子目录下的资源文件被打包。
(3)我们还可以通过 excludes 标签剔除不需要的资源:
(1)除了使用 resources 标签外亮尺,我们也可以使用 maven-resources-plugin 插件实现同样的目的。比如下面配置把 src/test/resources 目录下的资源文件打包到 classes 目录下:
(2)而对于写在包下的 Mapper.xml 文件,我们也可以通过 maven-resources-plugin 插件将其打包到相应位置:
(3)使用 maven-resources-plugin 插件时,我们同样可以通过 excludes 标签剔除不需要的资源:
spring boot 怎么打包
用maven打包,可以打包成jar或者war。
参考:
?xml version="1.0"?
project
xsi:schemaLocation=" "
xmlns="" xmlns:xsi=""
modelVersion4.0.0/modelVersion
parent
groupIdcom.xxxxx.yyyyy/groupId
artifactIdzzzz/artifactId
version0.0.1-SNAPSHOT/version
/parent
artifactIdweb/artifactId
namefront-web/name
packagingjar/packaging
properties
project.build.sourceEncodingUTF-8/project.build.sourceEncoding
/properties
dependencies
dependency
groupIdcom.xxxx.yyyy/groupId
artifactIdxxxxservice/artifactId
/dependency
dependency
groupIdch.qos.logback/groupId辩察
artifactIdlogback-classic/artifactId
/dependency
dependency
groupIdcom.lmax/groupId
artifactIddisruptor/artifactId
version3.3.4/version
/dependency
/dependencies
profiles
profile
idsit/id
properties
profiles.activesit/profiles.active
/properties
activation
activeByDefaulttrue/activeByDefault
指陆/activation
/profile
profile
iduat/id
properties
profiles.activeuat/profiles.active
/properties
唯灶顷/profile
profile
idprod/id
properties
profiles.activeprod/profiles.active
/properties
/profile
/profiles
build
plugins
plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-compiler-plugin/artifactId
configuration
source1.7/source
target1.7/target
encodingutf-8/encoding
/configuration
/plugin
plugin
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-maven-plugin/artifactId
configuration
executabletrue/executable
/configuration
/plugin
plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-jar-plugin/artifactId
/plugin
/plugins
/build
/project
spring boot怎么打一个瘦jar包
spring boot怎么打一个瘦jar包
也就是有main函数的那个。这个说明是写在文件:manifest.mf 里,你可以先如没雀创建一个空白的文本文件,命名为manifest.mf,指定里面加入:Main-Class:yourpackagename.classname 用 jar cvfm [jar-文件] [manifest-文件] class目录及文件名 命令生成...
Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念渣早,能够极察迟大的简化基于Spring MVC的Web应用和REST服务开发。 Spring 4倡导微服务的架构,针对这一理念,近来在微博上也有一些有价值的讨论,如这里和这里。
SpringBoot如何进行项目打包部署
1. springboot的打包方式有很多种。有打成war的,有打成jar的,也有直接提交到github
首先需要在application.properties当中配渣陵置端口
server.port=8080
2. marven的配置文咐兄件
?xml version="1.0" encoding="UTF-8"?
project xmlns="" xmlns:xsi=""
xsi:schemaLocation=" "
modelVersion4.0.0/modelVersion
groupIdcom.weixin/groupId
artifactIdsmallsystem/artifactId
version0.0.1-SNAPSHOT/version
packagingjar/packaging
namesmallsystem/name
descriptionsmallsystem/description
parent
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-parent/artifactId
version2.0.0.RELEASE/version
relativePath/ !-- lookup parent from repository --
/parent
properties
project.build.sourceEncodingUTF-8/project.build.sourceEncoding
project.reporting.outputEncodingUTF-8/project.reporting.outputEncoding
java.version1.8/java.version
/properties
dependencies
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-web/artifactId
/dependency
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-test/artifactId
scopetest/scope
/dependency
dependency
groupIdio.springfox/groupId
artifactIdspringfox-swagger2/artifactId
version2.2.2/version
/dependency
dependency
groupIdio.springfox/groupId
artifactIdspringfox-swagger-ui/artifactId
version2.2.2/version
/dependency
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-devtools/artifactId
optionaltrue/optional
/dependency
/dependencies
build
plugins
plugin
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-maven-plugin/artifactId
configuration
mainClasscom.weixin.SmallsystemApplication/mainClass
/configuration
/plugin
/plugins
/build
/project
在启动类当中加上extends SpringBootServletInitializer并如简戚重写configure方法,这是为了打包springboot项目用的。
@SpringBootApplication
public class SmallsystemApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(SmallsystemApplication.class, args);
}
@Override//为了打包springboot项目
protected SpringApplicationBuilder configure(
SpringApplicationBuilder builder) {
return builder.sources(this.getClass());
}
}
然后按照顺序运行mvn clean再mvn install