eclipse导入jar包

尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务。 当我必须重复做某事或作为脚本的一部分来做时,尤其如此。 在本文中,我将研究如何使用jar命令来创建,查看和操作Java归档文件。

JAR文件将主要在本文中使用,但是我在.jar文件上演示的命令与.war.ear文件一致。 还应该记住, JAR格式基于ZIP格式,因此可用于处理ZIP文件的众多工具都可以应用于JAR,WAR和EAR文件。 还应记住, jar选项倾向于镜像tar的选项。

对于我的示例,我想打包并使用一些.class文件。 下一个屏幕快照演示将一些Java源代码文件( .java文件)编译为.class文件。 这些文件的实际来源对本次讨论无关紧要,此处未显示。 在本文中,我已经展示了在没有IDE的情况下进行编译,这与使用命令行工具保持一致。

准备要在

下一个屏幕快照显示了我的.class文件已被编译并准备好包含在JAR中。

创建一个JAR文件

jar命令提供的“ c ”选项指示它创建档案。 我喜欢在我运行的所有jar命令中使用“ v ”(详细)和“ f ”(文件名)选项,以便输出将是详细的(以帮助您查看正在发生的事情,并且它是正在发生的正确事件)因此,可以根据命令的输入提供适用的JAR / WAR / EAR文件名,而不是根据标准输入和标准输出输入或输出。 在创建JAR文件的情况下,选项“ cvf”将创建具有指定名称( f )的JAR文件( c ),并打印出有关此创建的详细输出( v )。

下一个屏幕快照展示了jar cvf的最简单用法。 我将当前目录更改为“ classes”目录,因此创建JAR就像运行jar cvf *jar cvf .一样简单jar cvf . 并且当前目录中的所有文件以及所有子目录和子目录中的文件将包含在创建的JAR文件中。 下一个屏幕快照中演示了此过程。

如果我不想在运行jar之前将当前目录显式更改为构建JAR的最适当目录,则可以使用-C选项指示jar在其创建过程中隐式执行此操作。 下一个屏幕快照对此进行了演示。

列出档案的内容

列出(或查看) JAR,WAR或EAR文件的内容可能是我使用jar命令最多执行的功能。 为此,我通常使用选项“ t ”(存档内容的列表),“ v ”(详细)和“ f ”(在命令行上指定的文件名)。 下一个屏幕快照演示了如何运行jar tvf MyClasses.jar来查看我生成的JAR文件的内容。

提取存档文件的内容

有时需要提取存档文件中包含的一个或多个文件,以处理或查看这些单个文件的内容。 这是通过jarx ”(用于提取)选项完成的。 下一个屏幕快照演示了如何使用jar xvf MyClasses.jar提取该JAR文件的所有内容。 请注意,原始的JAR文件保持不变,但是其内容现在也都可以直接使用。

我通常只需要查看或使用存档文件的一个或两个文件。 尽管我可以绝对地提取所有文件,如上一个示例所示,并且仅编辑需要编辑的文件,但是如果文件数量很少,我更喜欢仅提取需要的文件。 使用相同的jar xvf命令可以轻松完成此操作。 通过指定完全限定的文件以在命令中的存档文件名之后显式提取,我可以指示

仅提取那些特定文件。 这是有优势的,因为我不会在目录中填入我不关心的文件,并且在完成后也不必担心清理太多。 下一个屏幕快照演示了运行情况jar xvf MyClasses.jar dustin/examples/jar/GrandParent.class仅提取jar xvf MyClasses.jar dustin/examples/jar/GrandParent.class单个类定义,而不提取该JAR中的所有文件。

更新档案文件

先前的示例演示了如何为jar命令提供“ c”来创建档案,“ t”来列出档案的内容,以及“ x”来提取档案的内容。 另一个通常执行的功能是更新现有档案的内容,这可以通过jar的“ u ”选项来完成。 下一个屏幕快照演示了如何在DOS中使用copy con命令创建一个名为tempfile.txt的文本文件,然后使用jar uvf MyClasses.jar tempfile.txt更新MyClasses.jar并将tempfile.txt添加到该JAR。

如果要更新现有归档文件中的文件,可以使用jar xvf提取该文件,根据需要修改该文件,然后使用jar uvf命令将其放回原始JAR中。 新文件将覆盖相同名称的现有文件。 下一个屏幕快照对此进行了模拟。

从存档文件中删除条目

在阅读jar手册页, jar的Oracle工具说明或jar的Java Tutorials覆盖范围时,没有选择从Java存档文件中删除条目的选项,这也许有些令人惊讶。 实现此目的的一种方法是提取JAR的内容,删除不再需要的文件,并从已删除这些文件的目录中重新创建JAR。 但是,一种更简单的方法是简单地利用基于ZIP的Java归档并使用基于ZIP的工具的删除功能。

下一个屏幕快照将演示使用的7-Zip(在Windows上)删除tempfile.txtMyClasses.jar运行命令7z d MyClasses.jar tempfile.txt 。 注意,在Linux中,可以使用zip -d MyClasses.jar tempfile.txt来完成相同的操作。 其他ZIP支持工具也有自己的选择。

WAR和EAR文件

这篇文章中的所有示例都针对JAR文件,但是这些示例适用于WAR和EAR文件。 作为一个非常简单的示例,下一个屏幕快照演示了如何使用jar uvf使用新的Web描述符更新WAR文件。 出于说明目的,涉及的实际文件的内容无关紧要。 需要注意的重要一点是,可以以与JAR文件完全相同的方式来操作WAR文件。 这也适用于EAR文件。

其他

在本文中,我重点介绍了可以从命令行对Java存档文件执行的“ CRUD”操作(创建/读取/更新/删除)和提取。 我通常将适用的“ CRUD”操作命令(“ c”,“ t”,“ u”)或提取命令(“ x”)与常用选项“ v”(详细)和“ f”(Java)结合使用在命令行上明确指定的存档文件名)。 jar命令支持除这些操作以外的其他操作,例如“ M”(控制清单文件的创建)和“ 0”(控制压缩)。 我也没有演示使用“ i”来生成Java档案的索引信息。

有关使用Java存档的其他资源

我之前引用了这些内容,但为方便起见在此进行了总结。

  • Java教程:JAR文件中的打包程序
  • jar命令上的Oracle工具文档
  • 罐子男人佩奇

结论

jar命令相对易于使用,在某些情况下可以是创建,查看和修改Java归档文件内容的最快方法。 熟悉此命令行工具可以使Java开发人员不时获得回报,尤其是在执行高度重复的任务或涉及脚本的任务时。 IDE和工具(特别是构建工具)在Java存档文件操作方面可以提供很多帮助,但是有时这些“开销”远大于从命令行使用jar时所需的开销。

翻译自: https://www.javacodegeeks.com/2014/12/manipulating-jars-wars-and-ears-on-the-command-line.html

eclipse导入jar包

eclipse导入jar包_在命令行上操作JAR,WAR和EAR相关推荐

  1. jar 、war、ear_在命令行上操作JAR,WAR和EAR

    jar .war.ear 尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务. 当我 ...

  2. 在命令行上操作JAR,WAR和EAR

    尽管Java IDE和许多图形工具使查看和操作Java归档文件(JAR,WAR和EAR)文件的内容比以往更加容易,但有时我还是更喜欢使用命令行jar命令来完成这些任务. 当我必须重复做某事或作为脚本的 ...

  3. java 命令行导入jar包,如何使用命令行生成和导入jar包

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件) JA ...

  4. java 命令行 编译 jar文件_用命令行编译java并生成可执行的jar包

    如果想用java编写一个可视化小程序,碰巧手头没有IDE的话,可以用命令行来完成编译.打包等工作. 拿自己编写的"java记事本"为例,介绍一下这个过程: 1.编写源代码. 编写源 ...

  5. jar包如何在命令行运行

    jar包在命令行运行 方式一:有绑定主类(有main函数入口) java -jar xxx.jar 方式二:无需绑定主类,可自行指定 java -cp xxx.jar xxx.main.Class 如 ...

  6. est.java 2 错误 找不到符号_在命令行上用junit-4.12.jar和hamcrest-core-1.3.jar编译并运行测试?错误:是抽象的,无法实例化,找不到符号...

    我正在尝试做Java单元测试,这是我到目前为止所做的: 在文件test.java中: import java.util.*; public class Test{ public String getS ...

  7. win10 后台运行jar包_如何在Windows10上打开或运行JAR文件

    JAR文件类似于EXE文件,除了它们需要运行Java框架. 想象一下它们作为Windows上的EXE文件,您可以双击启动该程序. 当您运行EXE文件时,它使用Windows操作系统支持. 同样,当您运 ...

  8. was服务器里面jar包_如何在was中解决jar包冲突

    如何在 was 中解决 jar 包冲突 大型的基于 WebSphere 的项目开发中,同一个 WebSphere Application Server (以下 简称 WAS ) 上会部署多个应用程序, ...

  9. java -jar 运行jar包_用java –jar 命令运行Jar包

    用java –jar 命令运行Jar包 摘要 这个技巧阐明了如何不直接处理清单文件而将一个不能运行jar包转换成一个可以执行的jar包.学会如何写一段转换jar包的程序,将你的jar包转换成你能使用j ...

最新文章

  1. 关于如何在使用easyui的时候添加一个操作列的问题
  2. php上位机grps通信,松下PLC与上位机通信实例
  3. 64Ubuntu报错Failed to get the adb version:
  4. 技术分享 | 业务模板的技术实践
  5. C++笔记-设置cout输出数据的宽度和填充
  6. 我的世界进入离开服务器消息,我的世界暂时离开状态修改 人性化设定AFK
  7. 关于.netMVC 出现@ViewBag 出现错误(波浪红线)的解决方法
  8. 学习笔记之awk用法
  9. UnityShader29:模板测试
  10. 在ASP.Net中实现RSA加密
  11. 缺少更新或刷新的键列信息_涨知识 | 刷新键究竟是用来干嘛的?你为什么要点击刷新呢?...
  12. python画双坐标图_Python画双坐标曲线图
  13. Vim配置#pathogen插件管理工具
  14. 计算机考研选择211还是重邮,22考研:这些容易但性价比高的院校专业千万别错过!...
  15. 在 Linux 和 Windows 下给 Tomcat 分配大内存设置方法 - 偷得浮生半日闲 - 博客频道 - CSDN.NET...
  16. 微信支付的架构到底有多牛?
  17. matlab exp(),matlab的exp函数
  18. API代理连接提取格式
  19. 还有多少时间可以挥霍!
  20. ZooKeeper : Curator框架Znode、ACL API介绍

热门文章

  1. grafana绘制动态dashboard
  2. zentao双机(数据库备份)
  3. java观察者设计模式
  4. 又学一招,记录之,数字日期互转
  5. golang 切片排序
  6. 嵌入式http服务器boa 简介
  7. python3 异步 async with 用法
  8. centos 6.8 安装telnet-server服务
  9. linux c 编译时 include 和 链接库 文件路径指定
  10. linux shell 显示路径