jar包和war包的区别:
war包:通常是web应用后,例如网站,打成包部署到容器(可以是tomcat)中。含有包括WEB-INF包。war包通常就是放在tomcat包的/webapps下然后自动编译和运行。
jar包:通常是开发时要引用的类,趋向功能性。实现一个功能。而打成jar包则可以直接通过命令运行。但也要声明main_class主类来启动。
项目打包
打包成jar包
1.使用命令行:
找一个目录,然后目录里放你的项目,用cmd窗口进入到该目录下,然后输出命令,注意最后面是有个 .不要漏了
jar cvf 目录名.jar -C 目录名 .
可以看到打包成功
2.使用Maven
可以看下方war包的步骤,是一致的
但pom里面换成
<packaging>jar</packaging>
打包成war包
1.使用命令行:
同样跟jar包一样进入到对应目录,然后运行
jar -cvf 项目名.war *
2.使用Maven:
在pom文件加上,加上记得点一下右上角的按钮刷新一下
<packaging>war</packaging>
先clean一下文件,清除没用的信息
找到package包然后右键点第一个
打包好的文件再target里面
!!!注意:总的来说不建议用命令行来打包,因为有些项目你可能没有META_INF这个文件和里面的MANIFEST.MF,而Maven可以帮你很好的打包成一个可用的文件
Linux上的Tomcat运行jar或者war
运行war包
首先进入到Tomcat的webapps的包
上传你的war包到webapps目录
再回到Tomcat的bin文件执行下方命令运行tomcat
sh startup.sh
如果已经启动了tomcat的可以先查看对应进程然后kill掉
ps -ef|grep tomcat
然后访问你的地址:ip:端口/项目名
运行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 结束进程