jar包和war包的区别;项目打包成jar或者war且运行在Linux上的tomcat

简介: jar包和war包的区别;项目打包成jar或者war且运行在Linux上的tomcat

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 结束进程

 

相关文章
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
6354 68
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
3255 8
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
前端开发 JavaScript Java
Java打包jar运行时分离lib和jar
在`pom.xml`的`build`节点中,设置`packaging`为`jar`,并配置插件分离依赖库到`lib`目录和资源文件到`resources`目录。这样可以在运行时通过`-Dloader.path=lib,resources`加载外部依赖和资源文件,便于独立升级依赖库和修改资源文件,而无需重新打包程序。具体插件包括`maven-dependency-plugin`、`maven-resources-plugin`和`spring-boot-maven-plugin`等。
990 2
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
22723 5
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
2667 3
|
前端开发 Java 应用服务中间件
21张图解析Tomcat运行原理与架构全貌
【10月更文挑战第2天】本文通过21张图详细解析了Tomcat的运行原理与架构。Tomcat作为Java Web开发中最流行的Web服务器之一,其架构设计精妙。文章首先介绍了Tomcat的基本组件:Connector(连接器)负责网络通信,Container(容器)处理业务逻辑。连接器内部包括EndPoint、Processor和Adapter等组件,分别处理通信、协议解析和请求封装。容器采用多级结构(Engine、Host、Context、Wrapper),并通过Mapper组件进行请求路由。文章还探讨了Tomcat的生命周期管理、启动与停止机制,并通过源码分析展示了请求处理流程。
|
机器学习/深度学习 Ubuntu Linux
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
|
缓存 前端开发 Java
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
252 0
|
Linux 网络安全 容器
【Azure App Service for Linux】Linux Web App如何安装系统未安装的包
【Azure App Service for Linux】Linux Web App如何安装系统未安装的包
197 0
|
应用服务中间件 Java