项目开发Eclipse中Jar包的管理和使用

一、如何生成Jar包?

Jar生成主要是给别人用的,可以通过Eclipse的Export功能,导出jar包文件。

1. 在Eclipse中,右键单击项目,并选择“Export”。


2. 在弹出的“Export”窗口中,选择“Java” -> “JAR file”,然后点击“Next”。


3. 在“JAR File Specification”窗口中,选择要导出的项目。如果项目的依赖项没有包含在项目中,可以选择“Export destination”下的“Directory”选项,以便将项目和依赖项一起打包。
4. 在“JAR Packaging Options”窗口中,选择要包含在JAR文件中的资源。默认情况下,只会包含编译后的类文件。如果需要包含其他资源,可以选择相应的选项。
5. 在“JAR Manifest Specification”窗口中,可以设置JAR文件的清单(Manifest)文件。如果不需要设置清单文件,可以选择“Use existing manifest from workspace”。
6. 在“JAR Signing”窗口中,可以选择对JAR文件进行签名。如果不需要签名,可以选择“Do not sign JAR files”。
7. 在“JAR Preview”窗口中,可以查看将要导出的JAR文件的内容和设置。如果需要修改任何设置,可以单击“Back”按钮进行更改。
8. 最后,在“JAR Export”窗口中,选择要导出的文件夹,并单击“Finish”按钮。Eclipse将开始导出JAR文件,并在完成后显示“JAR Export”窗口中的进度和完成信息。
导出后,可以通过解压缩软件查看jar包的内容。

上面说明了如何用export导出jar包的过程,最简单的方式,导出没有其他依赖的jar包的方法。导出给别人用,那么别人给到你的jar该怎么使用呢?

二、导入外部Jar包

从别人那边拿到jar包后,要导入到自己的项目中才能使用,首先就是导入,然后再去配置配置后才能被引用到

在导入jar包的时候,初学者往往有疑问的就在于,这些jar包放到哪里,项目的那个位置?其实放到哪里都可以,关键是在项目配置里面引用到这些jar包就行了,常用的做法是在项目目录下创建一个lib文件夹管理这些jar包,也可以在WEB-INF下创建lib文件夹管理这些jar包,但都需要添加到项目引用里面。

下面我们拿一个简单的例子说明过程。

第一步:创建文件夹【lib】

首先在项目下创建一个文件夹【lib】,用于存放 jar包,可以在项目名或者【WEB-INF】上右键依次点击New-Folder。

输入【lib】后点击【Finish】

第二步:jar包放到lib包中

找到我们要引入的 jar包,鼠标选中jar包,然后按住鼠标左键不放,把 jar包拖到 lib文件夹中。或先复制jar包,再回到新建的 lib包中粘贴如果 jar包多,就按住【Ctrl】+【鼠标左键】选择。

第三步:配置生成路径

现在只是把 jar包复制到项目中,但还不能使用
我们在项目名上右击,依次选择【Build Path】选择【Configure Build Path…】,在新打开的窗口中选择【Libraries】,再选择【Add JARs…】,在打开的窗口中先选择你的这个项目,然后展开这个项目,选择 lib文件夹,然后如果多个jar包,【Ctrl】+【鼠标左键】选中下一步选【OK】,这时刚才打开的【Libraries】页中可以看到我们刚才引入的 jar包,点击【Apply and Close】确认。这时在Eclipse中就可以使用这个jar包了。

注意观察项目文件结构树上会多了一个Referenced Libraries节点(非文件夹目录),会把你从lib里面选择引用的jar加到构建路径里面,这样才能用这些jar包。

三、引用jar包函数

首先在eclipse中创建一个java工程项目,然后在src下创建一个类Demo。按照二中的方式添加jar引用,接着在Demo类中调用jar包里面的方法。如图,先在Demo.java文件中加入main函数。

然后在main函数中调用jar包里面的方法。

如图,在调用方法前要导入包,导入后再调用方法。

四、java的sdk和jar包的区别

Java的SDK和Jar包在Java开发中扮演着不同的角色。

SDK(Software Development Kit)是一套开发工具包,它包含了开发Java应用程序所需的工具和库。Java的SDK通常包括Java编译器、调试器、性能分析工具和其他必要的工具。SDK提供了一个完整的开发环境,使开发人员可以方便地编写、编译和调试Java代码。它还包含了各种开发文档、示例代码和帮助文档,以及Java API的完整参考手册。

而Jar包(Java Archive)是Java中一种常用的打包格式,用于将多个Java类、资源文件和配置文件打包成一个独立的可执行文件。Jar包通常以.jar文件扩展名结尾。它可以包含用于共享的Java类库、第三方库、应用程序的配置文件等。通过将多个文件打包成一个Jar包,可以方便地分发、部署和管理Java应用程序。

SDK和Jar包在Java开发中的作用是不同的。SDK主要用于Java的开发过程,提供了编码、调试和测试等工具。开发人员需要安装Java的SDK才能进行Java开发工作。而Jar包主要用于Java应用程序的发布和部署。通过将应用程序的所有相关文件打包成一个Jar包,可以方便地传输和部署应用程序,使其易于使用和管理。

Java的SDK和Jar包都是与Java开发密切相关的工具。SDK提供了开发Java应用程序所需的工具和环境,而Jar包则用于打包、分发和部署Java应用程序。它们共同促进了Java开发的便捷性和可扩展性。

参考资料:

https://jingyan.baidu.com/article/bad08e1e23982609c851219e.html

https://blog.csdn.net/rej177/article/details/125433842

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

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

相关文章

C# Onnx 使用onnxruntime部署实时视频帧插值

目录 介绍 效果 模型信息 项目 代码 下载 C# Onnx 使用onnxruntime部署实时视频帧插值 介绍 github地址:https://github.com/google-research/frame-interpolation FILM: Frame Interpolation for Large Motion, In ECCV 2022. The official Tensorflow 2…

《springcloud alibaba》 二 nacos配置中心

目录 父项目配置pom.xmlconfig-nacos项目pom.xml配置文件application.ymlbootstrap.yml 启动类配置 多环境配置groupRefreshScope 市面上配置中心大致分为三种 springcloud configapollonacos 推荐使用 父项目配置 pom.xml <?xml version"1.0" encoding"…

2024年阿里云服务器优惠价格表,值得买云主机清单

2024阿里云服务器优惠活动政策整理&#xff0c;轻量2核2G3M服务器61元一年、2核4G4M带宽165元1年&#xff0c;云服务器4核16G10M带宽26元1个月、149元半年&#xff0c;阿里云ECS云服务器2核2G3M新老用户均可99元一年续费不涨价&#xff0c;企业用户2核4G5M带宽199元一年&#x…

Netty是如何解决JDK中的Selector的bug的?

Selector BUG: JDK NIO的BUG, 例如臭名昭著的epoll bug&#xff0c;它会导致Selector空轮询&#xff0c;最终导致CPU 100%, 官方声称在JDK 1.6版本的update18修复了该问题&#xff0c;但是直到JDK1.7版本该问题仍旧存在&#xff0c;只不过该BUG发生 概率降低了一些而已&#x…

渗透测试—信息收集

渗透测试—信息收集 1. 收集域名信息1.1. 域名注册信息1.2. SEO信息收集1.3. 子域名收集1.3.1. 在线子域名收集1.3.2. 子域名收集工具 1.4. 域名备案信息1.5. ICP备案号查询1.6. SSL证书查询 2. 收集真实IP2.1. 超级ping2.2. Ping2.3. CDN绕过 3. 收集旁站或C段IP3.1. 旁站或C段…

桥梁防船撞监测预警系统解决方案

一、方案概述 随着航道交通的快速发展&#xff0c;通航船舶日益增多&#xff0c;船舶超高以及偏航带来诸多安全隐患&#xff0c;时常发生桥梁受到船舶碰撞的事故&#xff0c;轻则桥梁结构和船舶受到损伤&#xff0c;重则桥梁垮塌&#xff0c;不但经济损失巨大&#xff0c;更会造…

Python | 获取命令行参数

一、sys模块 sys模块可以获取命令行参数。通过sys.argv可以访问所有命令行参数&#xff0c;返回值是包含所有命令行参数的列表。列表各元素意义如下&#xff1a; 参数1(脚本名)&#xff1a; sys.argv[0] 参数2&#xff1a; sys.argv[1] 参数3&#xff1a; sys.argv[2] ... 参数…

第五章 流程控制之循环

目录 1.1. for循环 1.1.1. 带列表的for循环 1.1.2. 不带列表的for循环 1.1.3. 基于C语言风格的for循环 1.2. while循环 1.2.1. 格式 1.2.2. while循环读取文件 1.3. until循环 1.3.1. 作用 1.4. 循环控制 1.4.1. 组成 1.4.2. 详细语法&#xff1a; 1.4.3. 示例 1…

JAVA工程师面试专题-并发编程篇

目录 一、线程 1、并发与并行的区别 2、同步和异步的区别 3、Java中创建线程有哪些方式? 4、Thread和Runnable的区别 5、Java中的Runnable、Callable、Future、FutureTask的区别和联系&#xff1f; 6、说一下你对 CompletableFuture 的理解 7、volatile关键字有什么用&…

Kubernetes 声明式API

对于声明式API来说&#xff0c;只需向系统提交一个定义好的API对象来声明资源对象的"期望状态"。然后由系统去确保资源对象从"当前状态"迁移到"期望状态"。这里的API对象是一种"意向表达&#xff08;Record of Intent&#xff09;“。创建A…

Jenkins持续集成Python项目

一、前言   之前学习了很多自动化测试框架&#xff0c;但是写的脚本都是本地执行&#xff0c;多数用来造数据。最近公司掀起一股自动化测试的风&#xff0c;所以就想研究下如何集成jenkins&#xff0c;本次采用pytest&#xff0c;用的是阿里云服务器centos7。 二、服务器环境…

1.网络游戏逆向分析与漏洞攻防-游戏启动流程漏洞-测试需求与需求拆解

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;分析接收到的对话数据包 这是一个新的篇章&#xff0c;之前是关于把我们的东西放进游戏里和内存里的数据分析与利用&#xff0c;现在是专注于网络部分&#xff0c;通过分析网络数据包得到应用程序中各…

J7 - 对于ResNeXt-50算法的思考

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 J6周有一段代码如下 思考过程 首先看到这个问题的描述&#xff0c;想到的是可能使用了向量操作的广播机制然后就想想办法验证一下&…

华清远见作业第四十二天——Qt(第四天)

思维导图&#xff1a; 编程&#xff1a; 代码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTextToSpeech> //语音播报类 QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public Q…

【C++精简版回顾】5.字符串

1.字符串的四种初始化方式 string str "ilove"; string str1("ilove"); string str2(str1); string str3 str1; 2.针对字符串的一些函数 &#xff08;1&#xff09;字符串长度 cout<<str.length()<<endl;&#xff08;2&#xff09;查找字…

基于qt的图书管理系统----03核心界面设计

参考b站&#xff1a;视频连接 源码github&#xff1a;github 目录 1 添加软件图标2 打包程序3 三个管理界面设计4 代码编写4.1 加载界面4.2 点击按钮切换界面4.3 组团添加样式4.4 搭建表头4.5 表格相关操作 从别人那里下载的项目会有这个文件&#xff0c;里边是别人配置的路径…

[NOI2000]单词查找树

牛客题目链接:https://ac.nowcoder.com/acm/problem/16864 题目描述: 在进行文法分析的时候&#xff0c;通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度&#xff0c;通常都要画出与单词列表所对应的单词查找树&#xff0c;其特点如下 (1). 根节点不包含…

Docker 是怎么工作的?

Docker 是怎么工作的&#xff1f; 本文转自 公众号 ByteByteGo&#xff0c;如有侵权&#xff0c;请联系&#xff0c;立即删除 Docker 是如何工作的&#xff1f; 下图展示了 Docker 的架构&#xff0c;以及当我们运行 “docker build”、"docker pull "和 "docke…

灌水:powershell 练习正则表达式

亲爱的读者们&#xff0c;请展示你们的能力&#xff1a;解析&#xff08;使用代码&#xff09;解析以下字符串 <鱼龙混杂的奇葩文件#> UI1|System.Windows.Forms.linklabel #创建用户对象 1.location.250.250 1.text.磁盘清理 1.autosize #自适应大小 #存在混淆风险…

分享一个UE的SmoothStep小技巧

SmoothStep节点可以制作更平滑的动画&#xff0c;而如果将max参数作为值传入将value和min参数作为约束&#xff0c;则可以做出类似冲击波的渐变效果&#xff1a; 并且通过修改value与min之间的数值差&#xff0c;可以调节渐变。 这个技巧主要就是可以产生硬边。 比如我们可…