
IDEA 部署 web 应用为 war 包1、一个 WAR 文件就是一个 Web 应用程序。建立 WAR 文件就是把整个Web应用程序不包括Web应用程序层次结构的根目录压缩起来指定一个.war扩展名。2、开发阶段不适合使用 WAR 文件因为在开发阶段经常需要添加或删除 Web 应用程序的内容而每一次改动后重新建立WAR 文件将是一件浪费时间的事情。而在产品发布阶段使用 WAR 文件是比较合适的因为在这个时候几乎不需要再做什么改动了。3、默认情况下 IDEA 对 Java Web 应用的部署方式如下war exploded 表示 war 包是打破的即 war 包是解压的。这也就是为什么默认部署的 web 应用不是 war 包而是 war 包解压后的模样。4、如下所示选择 新建部署方式war 全称 web application Archive ---web 应用归档来源是从解压的 war 内容进行归档。5、设置完成后就可以进行构建部署了Build - Build Artifacts...- 项目名:war - Build。最后一步如果是第一次构建可以选择 Build如果是重新构建则是 Rebuild。6、将生成好的 war 包可以直接放入到 Tomcat 的 wbapps 目录下建议修改一下名称然后启动 Tomcat 服务器当服务器启动时会自动解压 war 包并放入到同名的文件夹中。当以后再次启动服务器时如果 war 已经解压则不会再进行解压注意如果导出的war包放入webapps下不能使用时很大原因就是Build时没有构建完整导致服务器启动失败可以选择重新Build即可保证服务器启动将war包解压后的目录大小与平时使用Web Application:Exploded部署出来的大小一致。Spring boot 引入外部 Jar 包pom 内置本地 system 依赖1、1、有些 Jar 文件(如 Oracle 的 JDBC 驱动由于许可证等原因无法存放在公开仓库中。此外还有一些小型的开源项目它们没有将自己的构件分发到公共仓库中也没有维护自己的仓库无法从公共仓库中获得。2、若 Maven 项目中需要这些组件就需要将其下载到本地然后可以采用以下方式方式1手动安装到本地仓库然后即可正常引用。——推荐方式2如果是公司内部大家都需要且有私服则部署到 Nexus 私服然后即可正常引用。——推荐方式3直接将第三方Jar包导入到项目中使用本文介绍方式。不得已才使用这种方式比如用户现场环境人家不同意上传私包到私服上面或者需要审批等等。直接将第三方Jar包导入到项目中使用步骤如下一在项目根目录下新建 libs 目录(与src,pom.xml等同级)把 jar 文件拷贝进来libs 目录上右键点击 Add as Library...。二在 pom.xml 添加依赖!--引入外部依赖包-- !--scope、systemPath指示外部依赖包的位置-- !--${project.basedir}表示项目根目录(即包含pom.xml文件的目录)-- dependency groupIdcom.xiaoju.uemc.tinyid/groupId artifactIdtinyid-client/artifactId version0.1.0-SNAPSHOT/version scopesystem/scope systemPath${project.basedir}/libs/tinyid-client-0.1.0-SNAPSHOT.jar/systemPath /dependency三打包配置让其打包时自动包含外部依赖包。build plugins plugin groupIdorg.springframework.boot/groupId artifactIdspring-boot-maven-plugin/artifactId configuration forktrue/fork !--打包配置包括系统范围的依赖项-- includeSystemScopetrue/includeSystemScope /configuration /plugin /plugins /build特别说明这种方式没有依赖传递站在Maven 的角度是“你直接给了我一个本地磁盘上的 jar我就只用这一个 jar它内部pom.xml需要什么别的包我不管你全部自己手动给我”。所以如果它内部依赖的某个包只在它内部引用了自己项目或者其他依赖中没有引用则也需要放进lib下然后也这样引入。举个例子bgt-pm-server 服务的 pom.xml 引入了依赖 A依赖B依赖C现在依赖在A私服上面没有然后放到了libs下面如果依赖A内部引入依赖 F假如依赖B、C或者自己的 pom.xml 引入了 F则没事仍然会正常拉到它否则如果整个项目没有其他地方再引入依赖F此时只能将F也放到lib下面才行也设置 scopesystem/scope项目内搭建本地 maven 仓库直接搞一个小的Maven仓库就放在项目内部需要什么就放入什么打包的时候会自动优先从本地项目内部仓库进行拉取。这就方便多了其他什么都需要改。步骤1新建项目内Maven仓库新建一个 repo目录然后从自己本地maven仓库中复制过去就行需要什么就复制什么直接拿它当作一个仓库。步骤2打包命令添加本地仓库mvn clean package -Dmaven.test.skiptrue-Dmaven.repo.local./repoIDEA 打包、Spring Boot Maven plugin 打包可执行 Jar、war 程序IDEA 打包、Spring Boot Maven plugin 打包可执行 Jar 程序_idea plugin打包_蚩尤后裔的博客-CSDN博客。Spring Boot 2.0.3 使用外置 Tomcat 服务器https://wangmaoxiong.blog.csdn.net/article/details/81634549。