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

news2024/11/16 17:30:37

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/593099.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

怎样使用Fiddler进行移动端抓包?附视频教程包你学会

目录 前言 抓包 什么是抓包 哪些场景下需要抓包 Fiddler Fiddler抓包原理 安装 Fiddler移动端抓包 第一步&#xff1a;允许远程计算机连接 第二步&#xff0c;设置手机网络代理 第三步&#xff0c;允许捕获HTTPS连接 第四步&#xff0c;手机安装证书 前言 本篇文章…

chatgpt赋能python:Python中如何提取字段中的数字

Python中如何提取字段中的数字 在数据分析和处理中&#xff0c;经常需要提取文本中的数字数据。在Python中&#xff0c;有多种方法可以实现这一操作。本篇文章将介绍Python中提取字段中的数字的方法&#xff0c;并给出示例代码。 使用正则表达式 正则表达式是Python中处理文…

二十、C++11(上)

文章目录 一、前言二、C11诞生简介三、列表初始化&#xff08;一&#xff09;{}初始化&#xff08;二&#xff09;initializer_list容器1. initializer_list 概念2. initializer_list的使用场景3. initializer_list接口函数模拟实现 四、关键字&#xff08;一&#xff09;auto&…

duilib中使用mfc控件

我在界面相隔挺远的位置添加2个mfc控件&#xff0c; 需要添加&#xff1a; 1. 添加 CMfcWndUI 类&#xff0c;这是为了调用mfc控件用的 2. 添加 duilib界面 CDuiFrameWnd 3.重写 2中界面的virtual CControlUI* CreateControl(LPCTSTR pstrClassName); 函数 需要注意的地方…

xray工具—代理扫描、爬虫扫描、Burp联动

xray工具—代理扫描、爬虫扫描、Burp联动 1. Xray介绍1.1. 支持漏洞检测类型1.2. 官网地址 2. 常用扫描模式2.1. 生成证书2.1.1. 浏览器安装证书 2.2. Xray基础主动扫描2.2.1. 基础主动扫描命令2.2.2. 基础主动扫描结果 2.3. Xray代理模式扫描2.3.1. 代理模式配置代理2.3.2. 代…

一场变革来到零售业,盖雅「劳动力账户」助力连锁门店全面管理人效

‍ 上半年&#xff0c;逐渐回暖的出游&#xff0c;为文旅和线下零售业的营收创造了希望&#xff0c; 但面对高周转率和低利润率的行业竞争格局&#xff0c;比起令人兴奋的营收&#xff0c;大部分零售企业仍在焦虑营收背后的成本。 或许是过去三年的环境让更多企业学会了「精…

Microsoft Build 两大主题:Copilots 和插件

在 Microsoft Build 中&#xff0c;贯穿会议的两个主要主题是 Copilots - 涵盖广泛产品和服务的 AI 助手 - 以及插件&#xff0c;它们有效地将 Copilots 转变为聚合器&#xff0c;可能使其成为企业和消费者客户的一站式商店。 微软MVP实验室研究员 张善友 深圳友浩达 CTO&…

Python:Python编程:金融量化交易

金融量化交易 1. numpy2. scipy3. Pandas3.1 : Series 3.2&#xff1a; DataFrame代码示例 在金融量化交易中&#xff0c;下面几个模块是应用的比较广泛的 numpy (Numberic Python) : 提供大量的数值编程工具&#xff0c;可以方便的处理&#xff1a;向量矩阵等运算&#xff0c;…

cuda编程学习——CUDA内存介绍(七)

前言 参考资料&#xff1a; 高升博客 《CUDA C编程权威指南》 以及 CUDA官方文档 CUDA编程&#xff1a;基础与实践 樊哲勇 文章所有代码可在我的GitHub获得&#xff0c;后续会慢慢更新 文章、讲解视频同步更新公众《AI知识物语》&#xff0c;B站&#xff1a;出门吃三碗饭 …

Linux 中断子系统中GIC 中断控制器基本分析

GIC 是 ARM 公司给 Cortex-A/R 内核提供的一个中断控制器&#xff0c;类似 Cortex-M 内核&#xff08;STM32&#xff09;中的 NVIC。 GIC&#xff1a;Generic Interrupt Controller&#xff0c;通用中断控制器。 NVIC&#xff1a;Nested Vectored Interrupt Controller&#…

RTX4060Ti上演史诗级尴尬,线下核心商区斩获个位数销量

时隔两年半&#xff0c;一代甜品 RTX 3060 Ti 显卡继任者 RTX 4060 Ti 终于上架了。 经过几天网上对比测试&#xff0c;情况就这么个情况&#xff0c;综合性能提升堪堪 10% 左右&#xff0c;价格上涨至 3199 元起。 来源&#xff1a;clubic 参考 RTX 4090 超 50% 性能提升&am…

聊聊 220V交流 过零检测

聊聊过零检测&#xff0c;以及如何实现过零检测 ...... by 矜辰所致目录 前言一、什么是过零检测1.1 为何需要过零检测 二、如何做过零检测2.1 光耦2.2 比较器/运放2.3 三极管/MOS管2.4 过零检测芯片 三、过零检测电路结语 前言 最近正好项目需求遇到需要做过零检测&#xff…

【刷题之路Ⅱ】LeetCode 1823. 找出游戏的获胜者(约瑟夫问题)

【刷题之路Ⅱ】LeetCode 1823. 找出游戏的获胜者 一、题目描述二、解题1、方法1——单向环形链表1.1、思路分析1.2、代码实现 2、方法2——队列2.1、思路分析2.2、先将队列实现一下2.3、代码实现 一、题目描述 原题连接&#xff1a; 1823. 找出游戏的获胜者 题目描述&#xff…

Java基础篇 | Java基础语法

✅作者简介&#xff1a;大家好&#xff0c;我是Cisyam&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Cisyam-Shark的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色…

2023年上半年网络工程师上午真题及答案解析

1.固态硬盘的存储介质是( )。 A.光盘 B.闪存 C.软盘 D.磁盘 2.虚拟存储技术把( )有机地结合起来使用&#xff0c;从而得到一个更大容量的“内存”。 A.内存与外存 B.Cache与内存 C.寄存器与Cache D.Cache与外存 3.下列接口协议中&…

论文阅读 —— 语义激光SLAM

文章目录 点云语义分割算法1 基于点的方法2 基于网格的方法3 基于投影的方法 一、SLOAM1.1 语义部分1.2 SLAM部分1.2.1 树的残差1.2.2 地面的残差1.2.3匹配过程 二、SSC: Semantic Scan Context for Large-Scale Place Recognition2.1 两步全局语义ICP2.1.1 快速偏航角计算2.1.…

【已解决---ChatGPT学术优化下载安装问题集锦】

文章目录 问题1&#xff1a;关于配置完项目后关闭&#xff0c;如何再次打开快速启动。问题2&#xff1a;项目链接打不开,是404。问题3&#xff1a;出现关于API的报错。问题4&#xff1a;[Local Message] Request timeout. Network error. Please check proxy settings in confi…

8.Ansible Variables介绍

什么是Ansible Variables&#xff1f; 就像任何其他脚本或编程语言一样&#xff0c;变量用于存储变化的值&#xff61;例如, 假设我们要尝试执行相同的操作, 将修补程序应用于数百台服务器&#xff61;我们只需要一个playbook就可以满足所有100台服务器的需求&#xff61;但是,…

chatgpt赋能python:Python中提取指定元素——一个简单而精细的方法

Python中提取指定元素——一个简单而精细的方法 在网页抓取中&#xff0c;经常需要提取特定元素&#xff0c;例如标题、段落、图片等&#xff0c;以便于后续的数据处理与分析。而Python则是许多工程师在此领域中的首选语言&#xff0c;其灵活的语法和强大的第三方库给爬虫和数…

idea怎么搭建springboot

一般来说&#xff0c;用IDEA创建SpringBoot项目有两种方式。其一是Spring官网提供了一个快速生成SpringBoot项目的网站&#xff0c;可以在官网直接下载后&#xff0c;再导入IDEA中。另外一种是直接用IDEA创建一个SpringBoot项目&#xff0c;一般开发也是用的这种方式进行创建。…