当前位置: 首页 > news >正文

网站建设及维护干什么的网站代码素材建设

网站建设及维护干什么的,网站代码素材建设,网站服务器主机配置,wordpress的搭建环境以下是关于 Spring Boot 后端项目使用 Maven 打包命令、JAR/WAR 对比、内嵌服务器与第三方服务器对比,以及热部署配置的详细说明: 一、Maven 打包命令详解 1. 基础命令 1.1 清理并打包 mvn clean packageclean:删除 target 目录中的旧构建文…

以下是关于 Spring Boot 后端项目使用 Maven 打包命令、JAR/WAR 对比、内嵌服务器与第三方服务器对比,以及热部署配置的详细说明


一、Maven 打包命令详解


1. 基础命令

1.1 清理并打包

mvn clean package
  • clean:删除 target 目录中的旧构建文件。
  • package:根据 pom.xml 中的 <packaging> 配置生成 JAR 或 WAR 文件。

2. 指定打包类型

2.1 打包 JAR

默认为 JAR,无需额外配置:

mvn clean package

2.2 打包 WAR

需在 pom.xml 中设置 <packaging>war</packaging>

mvn clean package

3. 指定内嵌服务器

3.1 内嵌 Tomcat(默认)

无需额外配置,Spring Boot 默认使用内嵌 Tomcat。

3.2 更换内嵌服务器(如 Jetty)

pom.xml 中排除 Tomcat 并添加 Jetty 依赖:

<!-- 排除 Tomcat -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions>
</dependency><!-- 添加 Jetty -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

二、JAR 包与 WAR 包对比


1. JAR 包

特点

  • 内嵌服务器:包含 Tomcat/Jetty 等内嵌服务器,无需外部容器。
  • 独立运行:通过 java -jar app.jar 直接启动。
  • 轻量级:打包后体积较小,适合微服务、独立应用。

配置

  • 默认打包类型
    <packaging>jar</packaging>
    

启动命令

java -jar app.jar

2. WAR 包

特点

  • 依赖外部容器:需部署到 Tomcat、Jetty 等外部容器。
  • 传统企业应用:适合与现有 Java EE 环境集成。
  • 需排除内嵌服务器:需在 pom.xml 中排除内嵌 Tomcat。

配置

  1. 设置打包类型为 WAR

    <packaging>war</packaging>
    
  2. 排除内嵌 Tomcat

    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope>
    </dependency>
    
  3. 继承 SpringBootServletInitializer

    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(Application.class);}
    }
    

部署到 Tomcat

  1. 将生成的 app.war 复制到 Tomcat 的 webapps 目录。
  2. 启动 Tomcat,访问 http://localhost:8080/app

对比表

特性JAR 包WAR 包
内嵌服务器默认包含(如 Tomcat)需排除内嵌服务器,依赖外部容器
启动方式java -jar app.jar部署到 Tomcat/Jetty 等容器
适用场景微服务、独立应用传统企业应用、需与现有容器集成
依赖管理自动包含所有依赖需确保外部容器兼容依赖版本
部署复杂度简单,无需额外配置需配置外部容器

三、内嵌服务器与第三方服务器对比


1. 内嵌服务器(如 Tomcat)

优点

  • 快速启动:无需部署到外部容器,直接运行 JAR/WAR。
  • 开发便捷:适合本地开发和轻量级部署。
  • 配置简单:通过 application.properties 配置端口、上下文路径等。

配置示例

# application.properties
server.port=8080
server.servlet.context-path=/api

2. 第三方服务器(如 Tomcat)

优点

  • 资源管理:集中管理多个应用,便于资源分配。
  • 企业级功能:支持负载均衡、SSL、集群等高级功能。
  • 兼容性:与传统 Java EE 环境无缝集成。

部署步骤

  1. 打包 WAR 文件

    mvn clean package
    
  2. 部署到 Tomcat

    • target/app.war 复制到 Tomcat 的 webapps 目录。
    • 启动 Tomcat,应用自动解压部署。

对比表

特性内嵌服务器第三方服务器(如 Tomcat)
启动方式java -jar app.jar部署到 Tomcat/Jetty 等容器
资源占用每个应用独立 JVM,可能冗余共享容器资源,利用率更高
适用场景开发测试、轻量级部署企业生产环境、需集中管理资源
配置复杂度简单,通过 Spring 配置文件需配置 Tomcat 的 server.xml 等文件

四、热部署(Hot Deployment)详解


1. 热部署工具

Spring Boot 推荐使用 Spring DevTools 实现热部署,无需重启应用即可更新代码。


2. 配置步骤

1. 添加依赖

pom.xml 中添加:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope>
</dependency>

2. 配置文件设置

2.1 application.properties
# 启用热部署
spring.devtools.restart.enabled=true# 排除不需要监控的目录(如日志、资源文件)
spring.devtools.restart.exclude=logs/**,static/**,public/**# 自定义监控的额外路径(如配置文件)
spring.devtools.restart.additional-paths=src/main/resources# 监控文件变化的间隔(毫秒)
spring.devtools.restart.poll-interval=500# 忽略的文件模式(正则表达式)
spring.devtools.restart.exclude-patterns=.*\\.tmp
2.2 application.yml
spring:devtools:restart:enabled: trueexclude: logs/,META-INF/maven/additional-paths: src/main/resourcespoll-interval: 500exclude-patterns:- .*\\.tmp

3. 关键配置项说明

配置项作用
spring.devtools.restart.enabled启用或禁用热部署,默认为 true
spring.devtools.restart.exclude排除监控的目录或文件(支持通配符,如 logs/**)。
spring.devtools.restart.additional-paths添加额外需要监控的目录(如配置文件目录)。
spring.devtools.restart.poll-interval检测文件变化的间隔时间(毫秒),默认 1000
spring.devtools.restart.exclude-patterns通过正则表达式排除特定文件模式(如临时文件)。
spring.devtools.livereload.enabled启用 LiveReload(前端页面自动刷新,需安装浏览器插件)。

4. 注意事项

  • 作用域设置:确保 spring-boot-devtools 的作用域为 runtime,避免打包到生产环境。
  • IDE 配置
    • IntelliJ IDEA:勾选 Build Project Automatically
    • Eclipse:启用自动构建(Project → Build Automatically)。

5. 热部署工作原理

  1. 监控文件变化:DevTools 监控 target/classes 目录的更改。
  2. 自动重启应用:当类文件或资源变化时,触发应用重启(仅重启应用,不重启 JVM)。
  3. 快速反馈:开发时无需手动重启,节省时间。

五、总结

场景推荐方案原因
开发测试JAR + Spring DevTools热部署方便,独立运行无需配置容器
生产部署JAR(内嵌服务器)或 WAR(Tomcat)JAR 灵活轻量,WAR 适合企业级容器管理
企业级容器管理WAR + Tomcat集中管理资源,支持高级功能

通过合理选择打包方式和热部署配置,可以显著提升开发效率和部署灵活性。

http://www.dtcms.com/a/591686.html

相关文章:

  • 绵阳市 网站建设05网伴你学
  • 个人淘客网站备案抖音信息流广告代理商
  • 深圳建设信息网站做360网站快速排名软件
  • 珠海响应式网站建设推广公司我做网站
  • 深圳市宝安区西乡街道邮政编码正规seo一般多少钱
  • 汕尾网站网站建设wordpress主题开发
  • 网站编辑器是怎么做的百度小说风云榜排名完结
  • 开发建设信息的网站ajax+jsp网站开发从入门到精通
  • 宝安网站建设网站做301根目录在哪里
  • dede批量建站网页游戏平台模板
  • 电子商务网站建设的概要设计郴州seo服务
  • 做网站翻页怎么做电子商务网站的推广方式
  • 南京网站开发xuan南京乐识平台设计是做什么的
  • 用dw做的十二星座网站免费做网站改版多少钱
  • 深圳装饰公司wordpress seo 优化
  • 灵感设计网站网站营销最大的特点
  • 免费行情软件app网站红色网站优化怎么弄
  • 泉州住房和城乡建设部网站网站建设黄页免费在线观看
  • 做二手房需要用到哪些网站搜集房源网页设计重庆
  • 阿里云网站建设详细教程台州网站设计
  • 海南网站建设报价方案自己的身份已经网站备案了
  • 怎么能查到网站是哪个公司做的wordpress游戏充值
  • 新服务器做网站wordpress 支付宝个人
  • 做个静态网站多少钱dede 网站名称不显示
  • 免费的seo网站下载阿里云怎么申请域名
  • qq引流推广软件哪个好专业网站优化电话
  • 福建省建设干部网站建筑方案设计
  • 做网站需要租服务器么赣州做网站的公司
  • 分类信息网站怎么做网站开发软件有哪些免费
  • 重庆那些网站知页怎么转换wordpress