024-Spring Boot 应用的打包和部署
一、概述
springboot:spring-boot-maven-plugin
通过:parent引用
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.8</version> <relativePath/> <!-- lookup parent from repository --> </parent>
增加plugin
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
打包后jar 直接可用
二、手工打包【不推荐】
打包命令:maven clean package
打包并导出依赖:maven clean package dependency:copy-dependencies
1》然后在target目录下会有dependency文件夹
2》在target文件夹下建立product文件/lib文件夹
3》将target/denpendency下文件全部拷贝至target/product/lib下
4》并且将生产的mall-product-1.0.0.jar同时拷贝至target/product/lib下
接下来运行即可,进入到target/product目录下
java -Djava.ext.dirs=lib com.lhx.mall.product.App
此时网站启动成功,访问即可。。
编写启动脚本
将:java -Djava.ext.dirs=lib com.lhx.mall.product.App 写入 start.cmd文件即可。
三、maven打包插件【推荐】
http://www.mojohaus.org/appassembler/appassembler-maven-plugin/
在pom上增加如下配置
<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.10</version> <configuration> <!-- 生成window Linux 两种平台的执行脚本 --> <platforms> <platform>windows</platform> <platform>unix</platform> </platforms> <!-- 根目录 --> <assembleDirectory>${project.build.directory}/product</assembleDirectory> <!-- 打包jar,以及maven依赖的jar放到这个目录中 --> <repositoryName>lib</repositoryName> <!-- 可执行脚本目录 --> <binFolder>bin</binFolder> <!-- 配置文件目录 --> <configurationDirectory>conf</configurationDirectory> <!-- 拷贝配置文件到上面的目录中 --> <copyConfigurationDirectory>true</copyConfigurationDirectory> <!-- 从哪里拷贝配置文件到上面的目录中(默认src/main/resources) --> <configurationSourceDirectory>src/main/resources</configurationSourceDirectory> <!-- lib目录中jar的存放规则,默认是${groupid}/${artifactid}的目录格式,flat表示直接把jar放到lib目录 --> <repositoryLayout>flat</repositoryLayout> <encoding>UTF-8</encoding> <logsDirectory>logs</logsDirectory> <tempDirectory>tmp</tempDirectory> <programs> <program> <id>product</id> <!-- 启动类 --> <mainClass>com.lhx.mall.product.App</mainClass> <jvmSettings> <extraArguments> <extraArgument>-server</extraArgument> <extraArgument>-Xmx1G</extraArgument> <extraArgument>-Xms1g</extraArgument> </extraArguments> </jvmSettings> </program> </programs> </configuration> </plugin> </plugins> </build>
接下来执行打包命令:maven clean package appassembler:assemble
windows下调试运行bin下命令即可
四、其他
4.1、增加日志配置
4.2、增加监控配置
五、Linux部署
5.1、打成zip包
5.2、上传至Linux,配置数据库等,日志输出目录等
5.3、对bin下增加权限,进入bin下:chmod +x *
5.4、运行命令
./product