WAR包

1.WAR包:包含WEB-INFO->web.xml ,lib,classes

war包就是一个web应用的打包格式,一个web应用,需要一个用户交互的界面,负责给用户提供信息输入的地方,即jsp页面。数据需要保存下来,jsp把网页上的数据穿送给后台的java类,java类在得到这些数据之后再进行数据相关的工作,如存入数据库,给出相关统计数据等等。

一个基本的war包的目录结构,根目录下有一个index.jsp文件,是应用的界面,然后有一个WEB-INF文件夹,这个是war包的核心,在WEB-INF文件夹有web.xml文件,lib文件夹下存的是需要用到的外部依赖的jar包,classes下存的是带包名结构的java类,因为包名和文件目录是一一对应的关系,所以在classes文件夹下就会看到和包名一致的目录结构,最后一层就是编译好的class文件。

2.war包打包方法:eclipse -》export

方式一: 进入应用的目录, 用 jar -cvf xxx.war * 命令, 就可以将当前目录下的所有内容打成war包
        方式二: 用压缩工具打成 xxx.zip包, 然后把后缀名zip改为war即可

3.war包部署见:https://blog.csdn.net/xuhaogang3/article/details/81392501

jar包

1.jar包:jar包中引用的第三方的jar包需要在MANIFEST.MF文件中指定

Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法

方案一:用Eclipse自带的Export功能

步骤1:准备主清单文件 “MANIFEST.MF”,

由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:

Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar

Main-Class: main.KillCheatFans

第一行是MAINIFEST的版本,第二行Class-Path就指定了外来jar包的位置,第三行指定我们要执行的MAIN java文件。

这里要注意几点:

1、Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;2、假设我们的项目打包后为KillCheatFans.jar,那么按照上面的定义,应该在 KillCheatFans.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件
在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exception in thread "main" java.lang.NoClassDefFoundError”的错误;3、Main-Class后面是类的全地址,比如你的主文件是KillCheatFans.java,文件里打包为package com.main; 那么这里就写com.main.KillCheatFans,
不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;4、写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行,否则将会出现“jar中没有主清单属性”的错误。

步骤2:右击Java工程选择Export—>选择JAR file—>Next

步骤3:选择要打包的文件,不需要的文件不必打包,减小打包后的jar文件大小,并进行选项配置如下

这里有几个选项:

* Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
* Export all output folders for checked projects 表示导出选中项目的所有文件夹
* Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
* Export refactorings for checked projects 把一些重构的信息文件也包含进去

步骤4:选择我们在第一步中自定义的配置文件路径,这一步很重要,不能采用默认选项

这里解释一下配置项:

* Generate the manifest file:是系统帮我们自动生成MANIFEST.MF文件,如果你的项目没有引用其他class-path,那可以选择这一项。
* Use existing mainfest from workspace:这是可以选择我们自定义的.MF文件,格式如上所写,引用了第三方包时选用。
* Seal content:要封装整个jar或者指定的包packet。
* Main class:这里可以选择你的程序入口,将来打包出来的jar就是你这个入口类的执行结果。

最后Finish,即生成了我们要的jar文件。

运行该jar文件有两种方式:

1. 在命令行下运行命令java -jar 你的jar文件名称,比如我的执行如下:

如果在jar中有一些System.out.prinln语句(如上执行结果),运行后不想在控制台输出而是保存在文件中方便以后查看,可以用一下命令:
java -jar KillCheatFans.jar > log.txt (这时命令行窗口不会有任何输出)
输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和KillCheatFans.jar一个目录中。

2. 新建一个批处理文件,如start.bat,内容为:java -jar KillCheatFans.jar,放在jar文件同一目录下即可,以后点击自动运行即可,更加方便。

方案二:安装Eclipse打包插件Fat Jar

方案一对于含有较多第三方jar文件或含有第三方图片资源等就显得不合适,太繁琐。这时可以使用一个打包的插件—Fat Jar。

Fat Jar Eclipse Plug-In是一个可以将Eclipse Java Project的所有资源打包进一个可执行jar文件的小工具,可以方便的完成各种打包任务,我们经常会来打jar包,但是eclipse自带的打包jar似乎不太够用,Fat Jar是eclipse的一个插件,特别是Fat Jar可以打成可执行Jar包,并且在图片等其他资源、引用外包方面使用起来更方便。

安装方法:

1. Eclipse在线更新方法
Help > Install New Software > Add,
name:Fat Jar
location:http://kurucz-grafika.de/fatjar

2. Eclipse插件手动安装方法
下载地址:http://downloads.sourceforge.net/fjep/net.sf.fjep.fatjar_0.0.27.zip?modtime=1195824818&big_mirror=0
将解压出的plugins中的文件复制到eclipse安装目录中的plugins目录下,然后重启eclipse即可。

使用方法:

步骤1:右击工程项目选择Buile Fat Jar

步骤2:配置jar文件存放目录,主Main文件等,如下图

步骤3:选择所要用到的第三方jar包

最后Finish,即生成了我们要的jar文件,十分方便。

springboot等高级方式可参考:https://blog.csdn.net/MitKey/article/details/52043845

tomcat打包war,jar部署相关推荐

  1. 打包tomcat没有xml文件_Spring Boot 项目打包 War 并部署到 Tomcat

    之前使用 SpringBoot 所做的开发,都是将项目打包成 Jar 的,但是如果是作为一个 Web 项目,最好是将项目打包成 War. 1. Jar 包和 War 包的区别 1.概念 jar 包:J ...

  2. idea打包war包部署到tomcat以及访问路径问题

    idea将web项目打包成war最重要的是配置atrificats. 首先打开file -> project structure 创建之后,output directory即为输出war包的路径 ...

  3. IDEA下spring boot项目打包war包部署外部tomcat问题

    第一步,修改配置pom.xml文件 <packaging>war</packaging> <dependency> <groupId>org.sprin ...

  4. Linux(Centos7)服务器配置Tomcat以及JDK并部署WEB项目

    文章目录 一.简介 二.配置Java环境 1.1. 安装JDK环境 1.2. 创建文件夹,用来部署JDK 1.3. 上传下载的JDK 1.4. 解压缩JDK安装文件 1.5. 配置JDK的软链接 1. ...

  5. SpringBoot之打包成war包部署到tomcat

    SpringBoot打包成war包部署到tomcat 小编花费了九牛二虎之力,总算把SpringBoot项目成功打包成war包,其中不免遇到了一些小状况,特写此文,以便其他小伙伴们不要走我的老路,避免 ...

  6. Spring Boot 部署打包成 jar 和 war 有什么不同?

    首先给大家来讲一个我们遇到的一个奇怪的问题: 我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任 ...

  7. 已解决:手动打包war包结果无法在Tomcat中部署

    Tomcat报错信息:Unable to create the file [某某目录/META-INF/war-tracker] Tomcat部署war包的运行机制 tomcat 在解压war包后,会 ...

  8. idea打包war包方法,以及将war包部署到tomcat详细步骤

    一.idea打包war包方法 1.在项目中找到pom.xml文件 在pom.xml文件中加入 <packaging>war</packaging> ....<name&g ...

  9. IDEA打包war包及Tomcat部署war包

    1.准备工作 IntelliJ IDEA 开发工具 --我的版本是IDEA 2021.2.1 可以正常运行的Java项目 Tomcat 9.0.56 2.打包war包流程 按下图操作打开 Projec ...

最新文章

  1. 这样是不是就可以预测语音长度和内容了
  2. KernelIoControl和OEMIoControl的分析和使用(作者:wogoyixikexie@gliet)
  3. mysql 删除 修改数据库语句_数据库——添加,修改,删除
  4. 十四、深入Python条件和循坏
  5. Bug面前程序员的30种反应,戳中你了没
  6. 鸿蒙第一款手机,拿下“国内第一手机商”的OPPO,打算弃用华为鸿蒙?
  7. JavaScript 浏览器对象BOM
  8. springboot使用curator来实现leader选举
  9. 新浪微博放开140字限制:社交向左 原创向右
  10. spring实现定时任务的两种方式
  11. 胜为蓝牙适配器驱动_胜为USB蓝牙适配器4.0驱动下载
  12. opengl魔方文档_基于OpenGL的3D旋转魔方的实现.doc
  13. D. Take Your Seat
  14. Thingworx- 创建一个事物
  15. 最全iOS 应用上架流程(提交到AppStore)
  16. 【unix】unix环境高级编程
  17. 什么是域名?域名详细介绍
  18. Java绘画板源码_Java 绘图板 示例源码下载(画板)
  19. Improvement of AUTO sampling statistics gathering feature in Oracle 11g
  20. 工业智能网关BL110应用之61:如何实现智能楼宇控制BACnet 接入华为云平台

热门文章

  1. doe报告模板_波峰焊DOE实验报告范本(EXCEL档) .xls
  2. 出货量第一的三星为何在手机AI芯片竞争中落后华为和苹果?
  3. 如何用代码实现图片,音频视频的复制粘贴
  4. 2022.11.17补题祭
  5. fastjson 导致fullgc频繁问题排查过程
  6. excel数据导入python后不对齐_Python处理Excel文件的实用姿势
  7. The Stein-Lov´asz Theorem 定理
  8. 基于java的springboot疫情下社区健康评估系统毕业设计springboot开题报告
  9. 皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第n次落地时,在空中一共经过多少距离?第n次反弹的高度是多少?
  10. 使用python绘制二元函数对应的曲面