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

 

相关文章
|
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属性。解决方案如下:
3073 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`等。
829 2
|
Ubuntu Linux Go
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
2586 14
|
机器学习/深度学习 人工智能 Ubuntu
|
前端开发 Unix Linux
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
本文详细介绍了 `electron-builder` 在 Linux 平台上如何打包 Electron 应用程序,涵盖了 AppImage、Flatpak、Snap 等多种格式的打包原理和具体实现。文章从初始化 `LinuxPackager` 到创建各种目标格式的包,详细解析了每个步骤的代码逻辑和关键方法,帮助开发者更好地理解和使用 `electron-builder` 进行 Linux 应用的打包。
921 2
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
2795 2
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
2379 3
|
前端开发 Java 应用服务中间件
21张图解析Tomcat运行原理与架构全貌
【10月更文挑战第2天】本文通过21张图详细解析了Tomcat的运行原理与架构。Tomcat作为Java Web开发中最流行的Web服务器之一,其架构设计精妙。文章首先介绍了Tomcat的基本组件:Connector(连接器)负责网络通信,Container(容器)处理业务逻辑。连接器内部包括EndPoint、Processor和Adapter等组件,分别处理通信、协议解析和请求封装。容器采用多级结构(Engine、Host、Context、Wrapper),并通过Mapper组件进行请求路由。文章还探讨了Tomcat的生命周期管理、启动与停止机制,并通过源码分析展示了请求处理流程。
|
Java Windows
如何在windows上运行jar包/JAR文件 如何在cmd上运行 jar包 保姆级教程 超详细
本文提供了一个详细的教程,解释了如何在Windows操作系统的命令提示符(cmd)中运行JAR文件。
9457 1
|
Java
[JarEditor]可直接修改jar包的IDEA插件
### 修改JAR包变得更简单:JarEditor插件简介 **背景:** 开发中常需修改JAR包中的class文件,传统方法耗时费力。JarEditor插件让你一键编辑JAR包内文件,无需解压。 **插件使用:** 1. **安装:** 在IDEA插件市场搜索JarEditor并安装。 2. **修改class:** 打开JAR文件中的class,直接编辑,保存后一键构建更新JAR。 3. **文件管理:** 右键菜单支持在JAR内新增/删除/重命名文件等操作。 4. **搜索:** 使用内置搜索功能快速定位JAR包内的字符串。
2303 2
[JarEditor]可直接修改jar包的IDEA插件