jar包和war包的区别:

war包:通常是web应用后,例如网站,打成包部署到容器(可以是tomcat)中。含有包括WEB-INF包。war包通常就是放在tomcat包的/webapps下然后自动编译和运行。


jar包:通常是开发时要引用的类,趋向功能性。实现一个功能。而打成jar包则可以直接通过命令运行。但也要声明main_class主类来启动。


项目打包

打包成jar包

1.使用命令行:

找一个目录,然后目录里放你的项目,用cmd窗口进入到该目录下,然后输出命令,注意最后面是有个 .不要漏了


jar cvf 目录名.jar -C 目录名 .

19.png 可以看到打包成功

20.png

2.使用Maven

可以看下方war包的步骤,是一致的

但pom里面换成

<packaging>jar</packaging>

打包成war包

1.使用命令行:

同样跟jar包一样进入到对应目录,然后运行

jar -cvf 项目名.war *

21.png
22.png

2.使用Maven:

在pom文件加上,加上记得点一下右上角的按钮刷新一下

<packaging>war</packaging>

23.png 先clean一下文件,清除没用的信息

25.png
找到package包然后右键点第一个

26.png
27.png
打包好的文件再target里面

28.png
!!!注意:总的来说不建议用命令行来打包,因为有些项目你可能没有META_INF这个文件和里面的MANIFEST.MF,而Maven可以帮你很好的打包成一个可用的文件


Linux上的Tomcat运行jar或者war

运行war包

首先进入到Tomcat的webapps的包

29.png 上传你的war包到webapps目录

30.png
再回到Tomcat的
bin文件 执行下方命令运行tomcat

sh startup.sh

31.png 如果已经启动了tomcat的可以先查看对应进程然后kill掉

ps -ef|grep tomcat

32.png 然后访问你的地址:ip:端口/项目名

33.png

运行jar包

将jar包上传到linux的某个目录,可以选择是/usr/local下新建一个testJar包


然后运行命令,然后直接访问即可 :


java -jar XXX.jar   Ctrl + c 或直接关闭窗口,程序终止

java -jar XXX.jar &    窗口关闭时,程序终止

nohup java -jar XXX.jar &    退出或终端关闭时,程序执行

nohup java -jar XXX.jar >temp.out &   将日志输出重定向到temp.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行

nohup java -jar XXX.jar > /dev/null 2>&1 &  不生成日志,把标准输出和错误输出全部重定向到/dev/null中,也就是将产生的所有信息丢弃.


停止进程命令:


netstat -lnp|grep  查看端口号,一般是看自己的项目端口,如tomcat一般是8080

kill -9 PID  或者 kill PID 结束进程

Tomcat - 模拟Tomcat的webappClassLoader加载自己war包应用内不同版本类实现相互共存与隔离
Tomcat - 模拟Tomcat的webappClassLoader加载自己war包应用内不同版本类实现相互共存与隔离
springboot项目打成war包放入tomcat中运行,原理分析
1.需要将pom.xml文件的packaging设置为war。 2.改成war包之后,就可以直接使用maven的命令将项目打成一个war包了。 3.将这个war包直接放入到tomcat中运行。 4.启
Jenkins的Deploy war/ear to a container插件发布项目到tomcat容器
Jenkins的Deploy war/ear to a container插件发布项目到tomcat容器
Spring Boot 项目打成 war 包部署到 Tomcat
要知道,Spring Boot 的项目,默认是打为 jar 包的,这时候问题就来了,如果我想打成 war 包部署到 Tomcat,该怎么做呢?又是在网上找了半天的答案,质量不太好,绕来绕去没说个明白。其实还算是非常简单的,只需要大概几个步骤就行了。