打jar包和使用jar包
一、为什么要打jar包
二、如何查看jar包
三、如何开发jar包
四、拿到jar包之后,如何使用
一、为什么要打jar包
给别人用的时候一般给别人的是class文件。如果有很多类这么办?把类变成一个压缩包!
windows下的压缩包是.zip格式等,而eclipse压缩包是.jar格式。
二、如何查看jar包
用解压缩软件解压即可。可以看到里面有哪些class文件。
三、如何开发jar包
开发jar包的人员开发流程:
步骤1:编写类
//GetSum.java
package cn.itcast.sum;
public class GetSum{
public static getSum(int a,int b){
return a+b;
}
}
步骤2:打包成jar包
在要导出的类上,右键->Export->java -> JAR file,然后选择路径,如D:\sum.jar ->导出。
打开jar包可以看到jar包中含有class文件。
四、如何使用jar包
当别人发过来一个jar包(jar包里面有很多class文件)后,比如上面的sum.jar包,如何使用呢?
有两种方法。第一种方法一般不用,太low了。
使用方法一:这个方法太low了,不用
步骤1:编写Test.java文件
//Test.java
import cn.itcast.sum.*; //光设置classpath的环境变量还是不够,还要导入包
public class Test{
public static void main(String[] args){
int a = GetSum.getSum(1,2);
System.out.println();
}
}
步骤2:在cmd窗口中使用
>set classpath = D:\sum.jar; //设置环境变量,知道在哪里找jar包。只在当前的窗口有效。
>javac Test.java
>java Test
使用方法二:一般使用这个方法
步骤1:在工程目录下新建文件夹lib:File->New->Folder,文件名lib,将需要使用的jar包复制进去(ctrl c、ctrl v)。在工程上右键刷新就可以看到jar包了
步骤2:在需要使用的jar包上,右键->build path ->Add to build Path,发现多了一个小奶瓶~
步骤3:编写测试类Test.java
//Test.java
import cn.itcast.GetSum; //不用自己导入。当下面输入GetSum.getSum()时候,按Ctrl+Shift+o自动输入包名。
public class Test{
public static void main(String[] args){
int a = GetSum.getSum(1,2); //直接使用jar包下面的class类
System.out.println();
}
}
注意:
鼠标点到getSum()上,然后按F3,是看不到源码的。出现下面这种界面。这是因为源码不在jdk里面。
可以点击Attach Source按钮,然后点击"External File..."或者"External Folder"找到jar包对应的源码。(jar包中有class文件,并不是源码。)
————————————————
版权声明:本文为CSDN博主「/home/liupc」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/pengchengliu/article/details/80546029
打jar包和使用jar包的更多相关文章
- 由提交storm项目jar包引发对jar的原理的探索
序:在开发storm项目时,提交项目jar包当把依赖的第三方jar包都打进去提交storm集群启动时报了发现多个同名的文件错误由此开始了一段对jar包的深刻理解之路. java.lang.Runtim ...
- 基于Java的打包jar、war、ear包的作用与区别详解
本篇文章,小编为大家介绍,基于Java的打包jar.war.ear包的作用与区别详解.需要的朋友参考下 以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.cla ...
- java eclipse打jar包和执行jar中的main函数
jar包使用eclipse打包步骤 右键需要打包的项目->选择Export 到这里有两种打包的方式 1.如果项目中没有使用其他第三方包等,则直接选择下图中的第一种即可(JAR file) 2.如 ...
- com.apache.dc.query.Query所属包名apache-common-sid.jar
com.apache.dc.query.Query所属包名apache-common-sid.jar 首先这个类是基于HQL的,好多方法里面要传String clzz, 刚开始我真不知道这个参数传什么 ...
- 【解惑】深入jar包:从jar包中读取资源文件
[解惑]深入jar包:从jar包中读取资源文件 http://hxraid.iteye.com/blog/483115 TransferData组件的spring配置文件路径:/D:/develop/ ...
- [转]myeclipse 生成JAR包并引入第三方包
myeclipse 生成JAR包并引入第三方包 我用的是myeclipse8.0 首先用myeclipse生成JAR 一.生成JAR包 1.点选项目右键—>Export 2.Java—>J ...
- android studio无法识别含有rcs包名的jar
http://blog.csdn.net/JingleYe/article/details/70048943 android studio无法识别含有rcs包名的jar android stu ...
- [Maven]Maven构建可执行的jar包(包含依赖jar包)
----------------------------------------------------------------- 原创博文,如需转载请注明出处! 博主:疲惫的豆豆 链接:http:/ ...
- 深入jar包:从jar包中读取资源文件getResourceAsStream
一.背景 我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等). 在单独运行的时候这些简单的处理当然不会有问题.但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不 ...
- 关于spring boot在IDE工具中可以启动成功,但是打成jar包以及运行jar包失败的问题
1. 运行jar包报错,如下图: 2. 首先,找到pom.xml,把下面的build块中的内容改成如下所示: 3. 然后,请千万不要用Intellij idea来打包项目为Jar,你应该来到项目的根目 ...
随机推荐
- ETL讲解
ETL是将业务系统的数据经过抽取.清洗转换之后加载到数据仓库的过程,目的是将企业中的分散.零乱.标准不统一的数据整合到一起,为企业的决策提供分析依据. ETL是BI项目重要的一个环节. 通常情况下,在 ...
- Oracle 数据类型比较规则
数值 较大的值被认为大于较小的值.所有负数都小于零,所有正数都小于零.因此,-1小于100:-100小于-1. 浮点值NaN(not a number))大于任何其他数值,且等于自身. 日期时间值 较 ...
- matplotlib绘图难题解决
# coding=utf-8 import pandas as pd import yagmail import requests import arrow import numpy as np im ...
- 【RocketMQ异常】Caused by: com.aliyun.openservices.shade.com.alibaba.rocketmq.client.exception.MQClientException: No route info of this topic, message-service-topic-testf
一.异常信息 -- ::-thread-] ERROR c.x.x.r.service.producer.ali.AliMQProducerProcess.sendMessageFromQueue(A ...
- 关闭firefox火狐浏览器下载完成时自动扫描(49.0.2以后版本)
本人自己找到的方法,亲测有效,如下:1.在火狐浏览器地址里输入about:config回车,可能会提示“这可能使质量保证失效”,点击[我了解此风险!]2.在搜索框里输入browser.safebrow ...
- 解决shiro多次从redis读取session的问题
/** * 重写sessonManager * 解决shiro多次从redis读取session的问题 */ public class CustomSessionManager extends Def ...
- scrapy框架爬取开源中国项目大厅所有的发布项目。
本文爬取的字段,项目名称,发布时间,项目周期,应用领域,最低报价,最高报价,技术类型 1,items中定义爬取字段. import scrapy class KaiyuanzhongguoItem(s ...
- Codeforces G. Ant colony
题目描述: F. Ant colonytime limit per test1 secondmemory limit per test256 megabytesinputstandard inputo ...
- django--学习笔记 一
django--学习笔记 一 简介 本次笔记来源于对django官方教程的学习总结,点击进入官方教程. 要点 1.django框架简单介绍: 2.如何创建项目,创建项目介绍: 3.如何在项目在创建应用 ...
- NodeJS 多版本管理(NVM)
前言 现在前端各种框架更新较快,对 Node 的依赖也不一样,Node 的过版本管理也很有必要. NVM(Node Version Manager),是一个 Node 的版本管理工具. 官方的 NVM ...