jar类库打包与使用

原文链接:打包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 plain copy
  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 plain copy
  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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值