打印

[Java] 子若的JAVA入门本本

再议JAR文件

前些天,看了一本清华大学《JAVA使用教程(第二版)》,里面有一些关于介绍JAR文件方面的内容,现摘抄如下,以供大家参考:

1.将应用程序压缩为jar文件

可以使用jar.exe把一些文件压缩成一个JAR文件,来发布我们的应用程序。我们可以把java应用程序中涉及到的类压缩成一个JAR文件,比如Tom.jar,然后使用java解释器(使用参数-jar)执行这个压缩文件,或用鼠标双击该文件,执行这个压缩文件。
java -jar Tom.jar
假设应用程序中有两个类A、B,其中A是主类,生成一个JAR文件的步骤如下:
(1)首先,用文本编辑器(比如Windows下的记事本)编写一个清单文件Mymoon.mf:
Manifest-version: 1.0
Main-Class: A (必须有)
Created-By: 1.2.2(sun Microsystems Inc.):
比如,保存Mymoon.mf到D:\test。需要注意的是在编写清单文件时,在“Manifest-version:”和“1.0”之间、“Main-Class:”和主类“A”之间,以及“Created-By:”和“1.2.2”之间必须有且只有一个空格。在文件内容的最后一行必须按一下回车。
(2)生成JAR文件
D:\test\jar cfm Tom.jar Mymoon.mf A.class B.class
其中参数c边式要生成一个新的JAR文件;f表示要生成的JAR文件的名字;m表示文件清单文件的名字
注:如果机器安装过WinRAR解压软件,并将.jar文件与该解压缩软件做了关联,那么Tom.jar文件的类型是WinRAR,使得Java程序无法运行。因此,我们在发布软件时,还应该再写一个有如下内容的bat文件Tom.bat:
javaw -jar Tom.jar

2.将类压缩成jar文件

我们可以使用jar.exe把一些类的字节码文件压缩成一个JAR文件,然后将这个JAR文件存放到JAVA运行环境的扩展框架中,即将 该JAR文件存放在JDK安装目录的jre\lib\ext文件夹中。这样,其他的程序就可以使用这个JAR文件中的类来创建对象了。
现在,我们就将D:\test中的Test1.class和Test2.class压缩成一个JAR文件Jerry.jar:
Test1.java
1
2
3
4
5
public class Test1         { public void fTest1()           { System.out.println("I am a method In Test1  class");           }          }

Test2.java
1
2
3
4
5
public class Test2         { public void fTest2()           { System.out.println("I am a method In Test2  class");           }          }


(1)首先编写一个清单文件(Manifestfiles)
moon.mf
Manifest-version: 1.0
Class: Test1 Test2
Created-By: 1.2.2(Sun Microsystems Inc.)
保存moon.mf到D:\test
(2)生成JAR文件
D:\test\jar cfm Jerry.jar moon.mf Test1.class Test2.class

TOP

用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。

示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvf classes.jar Foo.class Bar.class
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有
文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvfm classes.jar mymanifest -C foo/ .

TOP

CSDN---该如何去学编程?[转帖]


CSDN
该如何去学编程? 不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; 不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点; 会用Visual C++,并不说明你会C++; 学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书; 如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的; 看Visual C++的书,是学不了C++语言的; 把时髦的技术挂在嘴边,还不如把过时的技术记在心里; 看得懂的书,请仔细看;看不懂的书,请硬着头皮看; 别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; 不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序; 和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好; 请看《程序设计实践》,并严格的按照其要求去做; 不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样; 学习编程的秘诀是:编程,编程,再编程; 记住:面向对象技术不只是C++专有的; 请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码; 把在书中看到的有意义的例子扩充; 请重视C++中的异常处理技术,并将其切实的运用到自己的程序中; 经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; 不要漏掉书中任何一个练习题——请全部做完并记录下解题思路; C++语言和C++的集成开发环境要同时学习和掌握; 就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主 当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写 别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的; 每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了; 请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100. XX; 保存好你写过的所有的程序——那是你最好的积累之一; 浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? 浮躁的人容易问:我到底该学什么;——别问,学就对了; 浮躁的人容易问:XX有钱途吗;——建议你去抢银行; 浮躁的人容易说:我要中文版!我英文不行!——不行?学呀! 浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行; 浮躁的人分两种:a)只观望而不学的人;b)只学而不坚持的人; 请不要做浮躁的人;

TOP

如何成为一个合格的java程序员

1、语法:必须比较熟悉,在写代码的时候IDE的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误并且知道任何修正。

  2、命令:必须熟悉JDK带的一些常用命令及其常用选项,命令至少需要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,如果这些命令你没有全部使用过,那么你对java实际上还很不了解。

  3、工具:必须至少熟练使用一种IDE的开发工具,例如Eclipse、Netbeans、JBuilder、Jdeveloper、IDEA、JCreator或者Workshop,包括进行工程管理、常用选项的设置、插件的安装配置以及进行调试。

  4、API:Java的核心API是非常庞大的,但是有一些内容笔者认为是必须熟悉的,否则不可能熟练的运用Java,包括:

   1)、java.lang包下的80%以上的类的功能的灵活运用。

   2)、java.util包下的80%以上的类的灵活运用,特别是集合类体系、规则表达式、zip、以及时间、随机数、属性、资源和Timer。

   3)、java.io包下的60%以上的类的使用,理解IO体系的基于管道模型的设计思路以及常用IO类的特性和使用场合。

   4)、java.math包下的100%的内容。

   5)、java.net包下的60%以上的内容,对各个类的功能比较熟悉。

   6)、java.text包下的60%以上的内容,特别是各种格式化类。

   7)、熟练运用JDBC。

   8)、java.security包下40%以上的内容,如果对于安全没有接触的话根本就不可能掌握java。

   9)、AWT的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、打印。

   10)、Swing的基本内容,和AWT的要求类似。

   11)、XML处理,熟悉SAX、DOM以及JDOM的优缺点并且能够使用其中的一种完成XML的解析及内容处理。

  5、测试:必须熟悉使用junit编写测试用例完成代码的自动测试。

  6、管理:必须熟悉使用ant完成工程管理的常用任务,例如工程编译、生成javadoc、生成jar、版本控制、自动测试。

  7、排错:应该可以根据异常信息比较快速的定位问题的原因和大致位置。

  8、思想:必须掌握OOP的主要要求,这样使用Java开发的系统才能是真正的Java系统。

  9、规范:编写的代码必须符合流行的编码规范,例如类名首字母大写,成员和方法名首字母小写,方法名的第一个单词一般是动词,包名全部小写等,这样程序的可读性才比较好。

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-9-8 06:24 京ICP证060528 号

Designed By 17DST