本帖最后由 孙万利 于 2012-11-27 23:40 编辑
java开发中每个类都要import若干的jar包;
java开发中总会遇到自己记不清的,忘记的类,方法;
每当这个时候我就想,如果自己把编写好的方法打成jar包,再编写一个API,
给其他的开发人员使用,那多牛啊;
今天,我的愿望实现了;
因为我学习到了jar包如何打,java帮助文档如何写。希望也能帮到你(看下面代码)
Jar命令(打jar包) 选项包括: -c 创建新的归档文件 -t 列出归档目录 -x 解压缩已归档的指定(或所有)文件 -u 更新现有的归档文件 -v 在标准输出中生成详细输出 -f 指定归档文件名 -m 包含指定清单文件中的清单信息 -e 为捆绑到可执行 jar 文件的独立应用程序 指定应用程序入口点 -0 仅存储;不使用任何 ZIP 压缩 -M 不创建条目的清单文件 -i 为指定的 jar 文件生成索引信息 -C 更改为指定的目录并包含其中的文件 如果有任何目录文件,则对其进行递归处理。 清单文件名、归档文件名和入口点名的指定顺序 与 "m"、"f" 和 "e" 标志的指定顺序相同。 示例 1:将两个类文件归档到一个名为 classes.jar 的归 jar cvf classes.jar Foo.class Bar.class 示例 2:使用现有的清单文件 "mymanifest" 并 将 foo/ 目录中的所有文件归档到 "classes. jar cvfm classes.jar mymanifest -C foo/ . jar包就是被打入jar包内文件的父目录 例如:jar cvf classes.jar Foo.class Bar.class 那么:classes.jar 就是Foo.class 和 Bar.class 的父目录 Foo.class 和 Bar.class文件可以删除,只要classes.jar文件存在即可
帮助文档制作
开始制作程序的说明书。java的帮助文档(说明书)通过文档注释来完成
*/ 要生成帮助文档,类必须是public 修饰 生成帮助文档使用到bin目录下javadoc编译
格式: javadoc -d 目录名(c: d: ...) 文件夹名(如果没有会自动生成) -author -version java文件 以此为例在默认目录下生成帮助文档: javadoc -d(如果不写默认为当前目录) helpdoc -author -version ArrayTool.java 在c盘下生成帮助文档 javadoc -d c:\helpdoc -author -version ArrayTool.java 要想出现空的构造函数在帮助文档里,就要把修饰符变成public
以后只要把帮助文档和编译生成.class文件发给使用方,即可使用
有了jar包,只要把jar包和帮助文档发给使用方,就OK了
/** 文档注释 这是一个可以对数组进行操作的工具类,该类中提供了了,获取最值,排序等功能 @author 孙万利 @version v1.1 */
public class ArrayTool{
/**
空参数构造函数 */
private ArrayTool(){} //构造函数私有化,不能被new建立对象,本类静态,再建立对象,浪费堆内存
//求最大值函数 /**
获取一个整形数组中的最大值 @param arr 接受一个int型数组 @return 会返回一个该数组中最大值 */ public static int getMax(int[] arr){
int max=0; for(int x=1;x<arr.length;x++){
if(arr[x]>arr[max]) max=x;
} return arr[max];
} //求最小值函数 /**
获取一个整形数组中的最小值 @param arr 接受一个int型数组 @return 会返回一个该数组中最小值 */ public static int getMin(int[] arr){
int min=0; for(int x=1;x<arr.length;x++){
if(arr[x]<arr[min]) min=x;
} return arr[min];
}
//查找排序 /**
给int型数组进行查找排序 @param arr 接收一个int型数组 */ public static void SearchSort(int[] arr){
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
swap(arr,x,y);
}
}
}
}
//冒泡排序 /**
给int型数组进行冒泡排序 @param arr 接收一个int型数组 */ public static void BubbleSort(int[] arr){
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-x-1;y++){
if(arr[y]>arr[y+1]){
swap(arr,y,y+1);
}
}
}
}
//对排序中的重复代码(比较部分)进行封装 // 只对本类中排序方法使用,不对外提供,进行private 私有化
/**
给数组中元素进行位置的置换 @param arr 接收一个int型数组 @param a 要置换的位置 @param b 要置换的位置 */ private static void swap(int[] arr,int a,int b){
int temp =arr[a]; arr[a]=arr; arr=temp;
}
//封装一个对数组进行遍历的方法 /**
用于打印数组中的元素,打印形式是【element1,element2.......】 */ public static void PrintArray(int [] arr){ System.out.print("["); for(int x=0;x<arr.length;x++){ if(x!=arr.length-1){ System.out.print(arr[x]+" ,"); }else{
System.out.println(arr[x]+"]");
}
}
}
|