springboot项目jar和war部署

springboot项目打包成jar/war包

springboot项目jar和war包的区别SpringBoot项目打成war和jar的区别war包和jar包的区别 摘记:

pom 工程一般是聚合工程,代表父工程,负责管理jar包的版本、maven插件的版本等,主要做统一的依赖管理。
 jar 包就是java的类进行编译生成的class文件就行打包的压缩包
 war 包就是一个web程序进行打包便于部署的压缩包,里面包含我们web程序需要的一些东西,其中包括web.xml的配置文件,前端的页面文件,以及依赖的jar
 总结:pom包和jar包的工程在新建的时候可以不需要制定maven项目的原型,达成war包的项目需要制定maven项目原型,指定的原型通常为maven-archetype-webapp,代表web项目。

maven多模块项目打包war包或者jar包

springboot项目打成war包并用tomcat部署的方法 步骤及注意点springboot把web项目打成war包部署到外部tomcat 摘记:
注意事项:
使用外部Tomcat部署访问的时候
application.properties(或者application.yml)中配置的

server.port=端口号
server.servlet.context-path=/项目名

将失效,请使用tomcat的端口,tomcat,webapps下项目名进行访问

为了防止应用上下文所导致的项目访问资源加载不到的问题,建议pom.xml文件中标签下添加标签:

<build>
    <!-- 应与application.properties(或application.yml)中context-path保持一致 -->
    <finalName>war包名称</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

springboot项目使用provided打包成war到tomcat运行出现问题总结maven依赖中的scope详解 摘记:

引自pom.xml详解

war包热更新java服务 war包和jar包部署_spring


scope的几个属性详解

compile:默认值 他表示被依赖项目需要参与当前项目的编译,还有后续的测试,运行周期也参与其中,是一个比较强的依赖。打包的时候通常需要包含进去。
 test:依赖项目仅仅参与测试相关的工作,包括测试代码的编译和执行,不会被打包,例如:junit。
 runtime:表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过了编译而已。例如JDBC驱动,适用运行和测试阶段。
 provided:打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是打包阶段做了exclude操作。
 system:从参与度来说,和provided相同,不过被依赖项不会从maven仓库下载,而是从本地文件系统拿。需要添加systemPath的属性来定义路径。

SpringBoot项目打war包过程及错误原因

补充:
eclipse和maven生成web项目的war包的操作方法

利用maven-war-plugin打包项目部署在不同环境