jar类库打包与使用

来源:互联网 发布:linux运维项目经验 编辑:程序博客网 时间:2024/06/05 15:57
原文链接:打包jar类库与使用类库

代码复用是软件开发中很重要的一个原则.将常用的函数构建为类库是一个很好的解决方法,什么时候要用到这些功能,只需要调用就好了.

下面将演示如何导出jar类库与使用jar包:

1. 导出jar类库

打开Eclipse,选定工作空间.工作空间一般来说,是用户保存配置信息,以及保存源码的地方.

然后在菜单栏中选择 File  --> New  --> Java Project, 选择以后的界面将如 图2 所示。

如果没有Java Project这个快捷项,可以选择 Other,然后再进行选择,选择 Other以后的界面如 图1 所示:


图1

如图1所示,在其中找到 Java --> Java Project 以后,选择Next即可进入下一步, 如 图2 所示:


图2

在图2所示的界面中,输入项目的名称,比如: StringLib, 使用默认的存储位置,使用默认的JRE, 然后点击 Finish 即可. 

项目创建完成以后,关闭不必要的那些View视图界面,(点击X即可). 

接着,选择左侧Package视图下的src目录,右键单击, 选择 New --> Class , 如 图3 所示:

 

图3

在接下来的向导页面中,输入 类名,比如: StringUtil , 选择包名,比如: com.renfufei.util ,然后点击完成即可,如 图4所示:


图4

创建类完成以后,根据需要写相关的代码,示例代码如下:

[java] view plaincopy
  1. package com.renfufei.util;  
  2.   
  3. import java.util.Random;  
  4. import java.util.UUID;  
  5.   
  6. public class StringUtil {  
  7.     /** 
  8.      * 判断某个字符串不为空 
  9.      * @param s 
  10.      * @return 
  11.      */  
  12.     public static boolean notNull(String s){  
  13.         return !isNull(s);  
  14.     }  
  15.     /** 
  16.      * 是整形正整数 
  17.      * @param s 
  18.      * @return 
  19.      */  
  20.     public static boolean isLong(String s){  
  21.         if (null != s && s.matches("^[+-]?\\d+$")) {  
  22.             return true;  
  23.         } else {  
  24.             return false;  
  25.         }  
  26.     }  
  27.     /** 
  28.      * 判断某个字符串是空 
  29.      * @param s 
  30.      * @return 
  31.      */  
  32.     public static boolean isNull(String s){  
  33.         return null == s || s.trim().length() < 1 || "null".equalsIgnoreCase(s);  
  34.     }  
  35.     /** 
  36.      * 随机生成一串字符串 
  37.      */  
  38.     public static String getUUID(){  
  39.         String uuid=UUID.randomUUID().toString();  
  40.         return uuid;  
  41.     }  
  42.   
  43.     /** 
  44.      * 转换为HTML,防止JS注入 
  45.      * @param s 
  46.      * @return 
  47.      */  
  48.     public static String toHTML(String s){  
  49.         if (isNull(s)) {  
  50.             s = "";  
  51.         }  
  52.         s = s.replaceAll("&""&");  
  53.         s = s.replaceAll("<""<");  
  54.         s = s.replaceAll(">"">");  
  55.         s = s.replaceAll("\""""");  
  56.         s = s.replaceAll(" "" ");  
  57.         s = s.replaceAll("\r\n""\n");  
  58.         s = s.replaceAll("\r""\n");  
  59.         s = s.replaceAll("\n""<p>");  
  60.         //  
  61.         return s;  
  62.     }  
  63.       
  64.     public static String handleSpecialChar(String s){  
  65.         if (isNull(s)) {  
  66.             s = "";  
  67.         }  
  68.         s=s.replaceAll("\r","").replaceAll("\n","").replace("\\","\\\\").replace("\"","\\\"").replace("<""<").replace(">"">");  
  69.         //  
  70.         return s;  
  71.     }  
  72.   
  73.     /** 
  74.      * 截断。返回截断后的字符串 
  75.      * @param s 需要阶段的字符串 
  76.      * @param beginIndex 开始index 
  77.      * @param endIndex 结束index 
  78.      * @return 
  79.      */  
  80.     public static String truncate(String s,int beginIndex,int endIndex){  
  81.         if (null == s) {  
  82.             return "";  
  83.         }  
  84.         int len = s.length();  
  85.         if (endIndex > len) {  
  86.             return s.substring(beginIndex);  
  87.         }else {  
  88.             return s.substring(beginIndex, endIndex)+"...";  
  89.         }  
  90.     }  
  91.     /** 
  92.      * 随机生成N位字符串--大写字母和数字 
  93.      * @param num 
  94.      * @return 
  95.      */  
  96.     public static String getRandStr(int num){  
  97.         String randString = "23456789ABCDEFGHJKMNPQRSTUVWXYZ";  
  98.         return randStr(randString,num);  
  99.     }  
  100.       
  101.     private static String randStr(String randString,int num){  
  102.         Random rnd = new Random();  
  103.         String rand = "";  
  104.         for(int i=0;i<num;i++){  
  105.             rand =rand + String.valueOf(randString.charAt(rnd.nextInt(randString.length())));  
  106.         }  
  107.         return rand;  
  108.     }  
  109.       
  110.     // 简单的单元测试  
  111.     public static void main(String[] args) {  
  112.         String s = "--100";  
  113.         System.out.println(isLong(s));  
  114.     }  
  115. }  

书写过程中,记得随时 CTRL+S 保存,如果书写错误,可以使用 CTRL+Z 进行撤销.

保存以后,在左侧包浏览器 视图界面中,选择需要导出的包,或者选择项目, 点击右键,在弹出菜单中选择 Export ,如 图5 所示:


图5

在接下来的向导界面中,找到并选择 Java --> JAR File  选项,点击Next,如 图6 所示:


图6

在接下来的界面中,选择要导出的资源,如 图7 所示,我们只选择了 com.renfufei.util 这个包, 在下方有几个可勾选的选项,其中一个是 导出生成的class文件,还有一个是 导出Java源文件, 图7中都用红色方框标识出来了, 并浏览选择输出文件,此处我们将输出位置选择为桌面,文件名输入: myutil.jar. 随后点击 Finish即可.


图7

OK,如果没有报错,那么导出完成,请在桌面或者保存位置查看导出的jar类库文件,可以使用 winRAR工具或者zip工具打开查看 jar文件的结构。


2. 使用 jar 类库

说明,如果是JavaEE或者JavaWeb项目,在Eclipse中,只需要将 相应的 jar 文件拷贝到 WebRoot下的 WEB_INF 下 的 lib 目录中即可. 可以略过下面的部分.

新建Java Project, 选择项目名字,比如 UseLib , 然后在项目上单击右键, 在弹出菜单中选择 New --> Folder ,如图8 所示:


图8

在弹出的向导界面中,输入文件夹名字, 如 lib ,然后点击 Finish 完成.如 图9 所示:


图9

完成以后,将需要导入的jar文件,比如 myutil.jar 在文件浏览器中复制( CTRL+C ),然后进入Eclipse,点击 lib 文件夹, 粘贴( CTRL +V ).

然后在 lib下的 myutil.jar 文件上单击右键,在弹出菜单中选择 Build Path --> Add to Build path ;此时,就将类库文件加入到执行路径中了,如 图10 所示:


图10

可以在 Referenced Libraries 中看到相应的 jar 包.至此,导入完成.

3. 测试

在UseLib项目的 src中, 新建一个类 TestUtil, 包 com.renfufei.test ,可以看到,编译并没有出错,选择右键,Run As --> Java Application. 查看输出结果. 

测试代码如下:

[java] view plaincopy
  1. package com.renfufei.test;  
  2.   
  3. import com.renfufei.util.StringUtil;  
  4.   
  5. public class TestUtil {  
  6.   
  7.     public static void main(String[] args) {  
  8.         String num = "100";  
  9.         System.out.println(StringUtil.isNull(num));  
  10.     }  
  11. }  
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 八个月宝宝吃什么吐什么怎么办 九个月宝宝吃什么吐什么怎么办 三岁宝宝吃什么吐什么怎么办 2岁宝宝又拉又吐怎么办 6岁儿子又吐又拉怎么办 2岁宝宝吃了就吐怎么办 宝宝吃饱了就吐吐了在吃怎么办 3岁宝宝吃了就吐怎么办 6岁儿童又吐又拉怎么办 还没满月的宝宝肚子胀气怎么办 婴儿拉屎有粘液像果冻状怎么办 宝宝不爱吃饭怎么办吃就吐出来 19天的宝宝生理性腹泻怎么办 33天的婴儿生理性腹泻怎么办 两个多月宝宝生理性腹泻怎么办 3岁儿童又吐又拉怎么办 宝宝两岁了突然说话有点口吃怎么办 姜文怎么克服口吃 说话结巴怎么办 慢性咽炎嗓子干哑说话费劲怎么办 感冒后嗓子不疼 说话费劲怎么办 小孩子在幼儿园内向老尿裤子怎么办 五岁宝宝总是抽鼻子有黄鼻涕怎么办 2岁宝宝头有大人的那么大怎么办 一岁四个月宝宝不理人不说话怎么办 两岁七个月还不会说话怎么办 2岁3个月宝宝说话结巴怎么办 两周的宝宝突然说话结巴怎么办 宝宝3岁半了说话口吃怎么办? 四十天的宝宝吐奶严重怎么办 宝宝吐奶从鼻子喷出来怎么办 六个多月宝宝吐奶一股酸味怎么办 50天的宝宝吃了就吐怎么办 微信语音群聊超过9人怎么办 四个月宝宝母乳不够不喝奶粉怎么办 四个月的宝宝母乳不够吃怎么办 火山直播十多天了还都是假人怎么办 吉利汽车锁了后屁股灯还亮怎么办 六个月凶了他突然不说话了怎么办 微信聊天聊的时间长了没话题怎么办 群聊同学加我微信不想加怎么办? 翡翠销售遇到不说话的客人怎么办