一、Eclipse 部署应用war
1、配置pom.xml,增加packaging改成war。
2、将嵌入的Tomcat依赖方式改成provided,增加依赖项。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
3、对Main类进行修改,使其继承SpringBootServletInitializer类,并重载configure方法。
package com.idodo.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class DemoApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(DemoApplication.class); } public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
4、右键pom.xml文件,选择Run As -> Maven install 打包。
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project demo: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[ERROR] -> [Help 1]
解决办法:将jdk\lib目录下的tools.jar,拷贝至jre目录C:\Program Files\Java\jre1.8.0_51\lib下。
5、执行成功。
[INFO] Installing D:\j2ee\workspace\demo\target\demo-0.0.1-SNAPSHOT.war to C:\Users\Administrator\.m2\repository\com\idodo\demo\0.0.1-SNAPSHOT\demo-0.0.1-SNAPSHOT.war
[INFO] Installing D:\j2ee\workspace\demo\pom.xml to C:\Users\Administrator\.m2\repository\com\idodo\demo\0.0.1-SNAPSHOT\demo-0.0.1-SNAPSHOT.pom
[INFO] ————————————————————————
[INFO] BUILD SUCCESS
[INFO] ————————————————————————
[INFO] Total time: 03:31 min
[INFO] Finished at: 2018-12-17T16:53:37+08:00
[INFO] ————————————————————————
6、将demo-0.0.1-SNAPSHOT.war重命名为demo.war,拷贝至D:\j2ee\apache-tomcat-8.5.34\webapps目录下。
7、启动bin\startup.bat。
8、访问http://localhost:8080/demo/hello?name=jzh
二、IntelliJ IDEA Community Edition 部署应用jar【2023-03-16 更新】
1、IDEA 界面的右上角“Maven”点击打开。双击package执行打包。
clean
清理,在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。
validate
验证,验证工程是否正确,所需的信息是否完整。
compile
编译源码,编译生成class文件,编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。
test
单元测试,测试。
package
打包,将工程文件打包为指定的格式,例如jar,war等。这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目,这时就用到install命令。
verify
核实,检查package是否有效、符合标准。
install
安装至本地仓库,将包安装至本地仓库,以让其它项目依赖。该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用(如果没有设置过 maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,解决了上面打包package出错的问题)。
site
站点,生成项目的站点文档。
deploy
复制到远程仓库。
2、执行jar。
java -jar iot-0.0.1-SNAPSHOT.jar