首页>>后端>>SpringBoot->springboot打包瘦身(打包springboot项目)

springboot打包瘦身(打包springboot项目)

时间:2023-12-07 本站 点击:0

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/SpringBoot/18151.html