打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,你应该来到项目的根目 ...
随机推荐
- 使用sudo进行Linux权限升级技巧
0x00 前言 在我们之前的文章中,我们讨论了如何使用SUID二进制文件和/etc/passwd 文件的Linux权限提升技巧,今天我们发布了另一种“使用Sudoers文件进行Linux权限提示技巧” ...
- 笔谈kxmovie开源播放器库的使用
开源播放器项目 kxmovie(https://github.com/kolyvan/kxmovie),现在仍然是很多刚开始接触播放器开发的程序员的参照范本.以下是我操作kxmovie项目的过程: ( ...
- 【Python】模块和包
模块 模块的概念 1. 每一个以扩展名 `py` 结尾的 `Python` 源代码文件都是一个 模块 2. 模块名 同样也是一个 标识符,需要符合标识符的命名规则 3. 在模块中定义的 全局变量 .函 ...
- vue echarts中绑定的click函数无法引用vue实例data里面的数据
在使用echarts的时候,需要在触发click事件之后去修改实例data里面的数据,可是发现用this引用后总是出现undefined, 解决办法: myChart.on('click', (par ...
- 使用jquery.datatable.js注意事项
本文链接:https://blog.csdn.net/ylg01/article/details/76463908写在最前面的话,如果不是维护老项目或者在老项目上二次开发尽量不要用这个表格插件 为什么 ...
- Postgresql日志配置
将PostgreSQL数据库安装后,需要进行一些关于数据库日志的配置,将postgresql.conf文件中,关于日志的配置选项详解,记录如下: 1.logging_collector = on/of ...
- vsftpd配置文件
一.默认配置 1. 允许匿名用户和本地用户登录 anonymous_enable=YES local_enable=YES 2. 匿名用户使用的登录名为ftp或anonymous,密码为空:匿名用户不 ...
- 树莓派配置samba服务器,实现linux、windows文件共享
一.安装samba服务器 输入如下命令: 二.配置文件smb.conf 找到[homes],将read only那里的yes改为no,允许读写 添加用户和设置密码 sudo smbpasswd -a ...
- mutable用于修改const成员函数中的成员变量
http://no001.blog.51cto.com/1142339/389840/ mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词. 在C++中 ...
- 调试中行支付demo
用eclipse调试中行支付demo,本来报错. 让我同学帮我远程看了下,他删了服务器,又添加服务器,然后竟然可以运行了,牛逼! 原来报错: at java.net.URLClassLoader$1. ...