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