Clustered Data ONTAP Fundamentals课程第一单元学习笔记
2016-01-12 10:28
351 查看
工作一年多了,却从未手工打过jar包,从未手动写过一个java项目,当然用IDE工具这一切都是很简单的事,可是如果让你用记事本,用命令能完成这一过程么?当然用eclipse点点鼠标就OK了,何必那么麻烦呢。当然实际操作中肯定是用IDE工具来提高工作效率,但是对于其本质不了解,那只能是知其然而不知其所以然,也就只能知道了其本质,这样我们坐起事来才游刃有余。
接下来将详细的介绍这一个过程,本文将分两篇,一篇讲J2SE项目,一篇讲J2EE项目。
本篇将介绍如何完成第三方jar包和一个在window中的可执行程序:
做第三方jar包
1.首先将一个文件夹命名为mytest,在目录下建三个子文件夹分别为src(存放java源文件),bin(存放编译后的class文件)和lib(存放第三方jar包)。然后在src目录下建立cn/jun/info,和cn/jun/test包文件夹,其目录结构如下:
----mytest
----src
----cn
----jun
----info
----test
----bin
----lib
2.分别在info和test2下建立Info.java和Test.java文件,用记事本编辑内容分别如下
Test类
Info类
3.编译java文件
在dos窗口下 执行命令切换到 mytest目录下输入命令 javac -d bin src/cn/jun/info/*.java src/cn/jun/info/test/*.java (这句话的意思是将cn/jun/info和cn/jun/info/包下的所有.java文件编译到bin目录下)
编译成功后目录bin目录下会增加class文件,文件目录如下:
----mytest
----src
----cn
----jun
----info
----Info.java
----test
----Test.java
----bin
----cn
----jun
----info
----Info.class
----test
----Test.class
----lib
4.打成jar包,完成第三方jar包的制作
在dos窗口下 执行命令切换到mytest的 bin目录下然后执行命令 : jar vcfM mytest.jar cn (见附件“jar命令详解.txt"的 或 http://bbs.chinaunix.net/viewthread.php?tid=137481)
bin目录下就生成了mytest.jar包
5.关于第三方jar包的引用
按照如上步骤我们重新做一个mytest2的jar包,里面仅有Test2这个类,目录结构及内容如下:
注:编译时用 javac -d bin src/cn/jun/info/test2/*.java 命令时会报软件包不存在,因为你没有引入第三方包,正确命令是 :javac -d bin -classpath lib/mytest.jar src/cn/jun/info/test2/*.java
----mytest2
----src
----cn
----jun
----test2
----test2.java
----bin
----cn
----jun
----test2
----test2.class
----lib
----mytest.jar
Test2类
然后同样在 bin目录下然后执行命令 : jar vcfM mytest2.jar cn
做可执行jar包
1.依照前面的步骤完成如下目录结构
----mytestmain
----src
----cn
----jun
----testmain
----testmain.java
----bin
----cn
----jun
----test2
----test2.class
----lib
----mytest.jar
----mytest2.jar
----MANIFEST.MF
Testmain类
2.编译并打包
同样用命令javac -d bin -classpath lib/mytest2.jar src/cn/jun/info/testmain/*.java 编译
打jar包的时候就有区别了,首先我们要写一个MANIFEST.MF,内容如下:
Manifest-Version: 1.0
Created-By: 1.6.0_22 (Sun Microsystems Inc.)
Main-Class: cn.jun.testmain.Testmain
Class-Path: lib/mytest.jar lib/mytest2.jar
注: Main-Class: cn.jun.testmain.Testmain 是说明程序的入口,cn.jun.testmain.Testmain是注程序的路径
Class-Path: lib/mytest.jar lib/mytest2.jar 是说明了程序要引用的jar包,中间用空格隔开,这个路径是相对与jar包所在的目录下
在bin目录下用jar命令打包:jar vcfm mian.jar ../MANIFEST.MF cn (注:这里的MANIFEST.MF在mytestmian目录下,所以用../MANIFEST.MF ,只要路径对了就行 )
3.完成可执行程序
如果用命令 java -jar mian.jar的话一定会报错:找不到Test2这个类,因为它没有找到mytest.jar和mytest.jar俩个包
那怎么包了,既然他是一个程序了那我们新建一个文件夹main,将mian.jar放到该目录下,在main下新建一个目录lib并将mytest.jar和mytest.jar复制到下面(这里就表明了jar包的路径Class-Path: lib/mytest.jar lib/mytest2.jar )
再用命令执行java -jar mian.jar就可以正确执行了
制作为bat文件,让其双击就可以执行
在main目录下建一个mytest.bat文件,用记事本编辑类容如下:
java -jar mytest.jar
完成了,这样双击就mytest.bat文件就可以之际执行程序了
这样一个可执行的程序就完成了,main文件夹复制到任何装有有java环境的机子上都可以执行了
当然你还可以将其制作成exe文件,并对图标进行一些美化请参加(见附件中的“制作exe文件.txt"的七八九步)
接下来将详细的介绍这一个过程,本文将分两篇,一篇讲J2SE项目,一篇讲J2EE项目。
本篇将介绍如何完成第三方jar包和一个在window中的可执行程序:
做第三方jar包
1.首先将一个文件夹命名为mytest,在目录下建三个子文件夹分别为src(存放java源文件),bin(存放编译后的class文件)和lib(存放第三方jar包)。然后在src目录下建立cn/jun/info,和cn/jun/test包文件夹,其目录结构如下:
----mytest
----src
----cn
----jun
----info
----test
----bin
----lib
2.分别在info和test2下建立Info.java和Test.java文件,用记事本编辑内容分别如下
Test类
package cn.jun.test; import cn.jun.info.Info; public class Test{ public String test(String a){ System.out.println("执行依赖jar包的方法"); return a+"****************"+Info.info1; } }
Info类
package cn.jun.info; public class Info { public static String info1="测试信息1…………"; public static String info2="测试信息2…………"; }
3.编译java文件
在dos窗口下 执行命令切换到 mytest目录下输入命令 javac -d bin src/cn/jun/info/*.java src/cn/jun/info/test/*.java (这句话的意思是将cn/jun/info和cn/jun/info/包下的所有.java文件编译到bin目录下)
编译成功后目录bin目录下会增加class文件,文件目录如下:
----mytest
----src
----cn
----jun
----info
----Info.java
----test
----Test.java
----bin
----cn
----jun
----info
----Info.class
----test
----Test.class
----lib
4.打成jar包,完成第三方jar包的制作
在dos窗口下 执行命令切换到mytest的 bin目录下然后执行命令 : jar vcfM mytest.jar cn (见附件“jar命令详解.txt"的 或 http://bbs.chinaunix.net/viewthread.php?tid=137481)
bin目录下就生成了mytest.jar包
5.关于第三方jar包的引用
按照如上步骤我们重新做一个mytest2的jar包,里面仅有Test2这个类,目录结构及内容如下:
注:编译时用 javac -d bin src/cn/jun/info/test2/*.java 命令时会报软件包不存在,因为你没有引入第三方包,正确命令是 :javac -d bin -classpath lib/mytest.jar src/cn/jun/info/test2/*.java
----mytest2
----src
----cn
----jun
----test2
----test2.java
----bin
----cn
----jun
----test2
----test2.class
----lib
----mytest.jar
Test2类
package cn.jun.test2; import cn.jun.info.Info; import cn.jun.test.Test; public class Test2{ public String testjar(String a){ Test t=new Test(); System.out.println(a); System.out.println("执行第三方jar包的方法!"); return a+"****************"+t.test("调用依赖包……"); } }
然后同样在 bin目录下然后执行命令 : jar vcfM mytest2.jar cn
做可执行jar包
1.依照前面的步骤完成如下目录结构
----mytestmain
----src
----cn
----jun
----testmain
----testmain.java
----bin
----cn
----jun
----test2
----test2.class
----lib
----mytest.jar
----mytest2.jar
----MANIFEST.MF
Testmain类
package cn.jun.testmain; import cn.jun.test2.Test2; public class Testmain{ public static void main(String args[]){ System.out.println("测试打jar包,形成可执行文件!"); Test2 mt=new Test2(); System.out.println(mt.testjar("调用第三方jar包……")); try { Thread.sleep(5000);//当双击执行时,让其停留一会,这样可以看到打印结果,否则闪一下就过了 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
2.编译并打包
同样用命令javac -d bin -classpath lib/mytest2.jar src/cn/jun/info/testmain/*.java 编译
打jar包的时候就有区别了,首先我们要写一个MANIFEST.MF,内容如下:
Manifest-Version: 1.0
Created-By: 1.6.0_22 (Sun Microsystems Inc.)
Main-Class: cn.jun.testmain.Testmain
Class-Path: lib/mytest.jar lib/mytest2.jar
注: Main-Class: cn.jun.testmain.Testmain 是说明程序的入口,cn.jun.testmain.Testmain是注程序的路径
Class-Path: lib/mytest.jar lib/mytest2.jar 是说明了程序要引用的jar包,中间用空格隔开,这个路径是相对与jar包所在的目录下
在bin目录下用jar命令打包:jar vcfm mian.jar ../MANIFEST.MF cn (注:这里的MANIFEST.MF在mytestmian目录下,所以用../MANIFEST.MF ,只要路径对了就行 )
3.完成可执行程序
如果用命令 java -jar mian.jar的话一定会报错:找不到Test2这个类,因为它没有找到mytest.jar和mytest.jar俩个包
那怎么包了,既然他是一个程序了那我们新建一个文件夹main,将mian.jar放到该目录下,在main下新建一个目录lib并将mytest.jar和mytest.jar复制到下面(这里就表明了jar包的路径Class-Path: lib/mytest.jar lib/mytest2.jar )
再用命令执行java -jar mian.jar就可以正确执行了
制作为bat文件,让其双击就可以执行
在main目录下建一个mytest.bat文件,用记事本编辑类容如下:
java -jar mytest.jar
完成了,这样双击就mytest.bat文件就可以之际执行程序了
这样一个可执行的程序就完成了,main文件夹复制到任何装有有java环境的机子上都可以执行了
当然你还可以将其制作成exe文件,并对图标进行一些美化请参加(见附件中的“制作exe文件.txt"的七八九步)
相关文章推荐
- Android 讲解:基本UI 控件
- 面向对象(方法详解)
- 从0到1 python简易计算器
- Eclipse"启动"问题:Failed to load the JNI shared library jvm.dll
- SVN仓库删除最近的提交,还原到某日期以前的版本(svn仓库 删除最近几次更改)
- Java中List与Map初始化的一些写法分享
- android调用webservice
- Spring中@Autowired注解、@Resource注解的区别
- Android Service完全解析,关于服务你所需知道的一切
- java 线程、线程池基本应用演示样例代码回想
- F面经prepare:strstr变种
- Eclipse闪退/打不开/无法启动/一闪而过
- nyoj An problem about date (蔡勒公式)
- 如何用photoshop将方形图片处理成圆形图片
- 修改android项目名
- 岁月是轮回的梦
- 删除svn中指定的文件以及合并svn版本库
- svg_鼠标手型
- HiveSql(2)Lateral view_转行为列
- Redis学习记录之命令KEY(六)