欢迎光临
我们一直在努力

"package中的javac,java用法" && "制作可执行jar文件"-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

java初学者最早会用的命令无非是就是javac和java,但即使这么简单命令也还会把我们弄得头皮发麻 -__- .roger下面就"package中的javac,java用法"和"制作可执行jar文件"做点简单的解释。

最基础的东西就不废话了,至于package先讲讲我的理解,因为我觉得知道这点对于开发还是很有帮助的。举个例子说:有两个类tom和jerry同属于一个package–partners

//tom.javapackage partners;public class tom{       public string tostring()      {               return "its tom";      }}

//jerry.javapackage partners;public class jerry{     public static void main(string[] args)     {            tom = new tom();           system.out.println(tom + " and i am jerry.");    }}

下面roger要编译它们为字节码了,@_@,可用如下命令:tom先,这很明显,而且必须:javac tom.java 或 javac -d .\partners tom.java

(这里应该先设好path,如roger机子上就是c:\j2sdk1.4.2\bin,因为javac.exe和java.exe都在这个目录下,它们可是javac和java的源泉;同理classpath也要设好了,roger的机子上是.,c:\j2sdk1.4.2\lib\dt.jar和c:\j2sdk1.4.2\lib\tools.jar…,tools.jar是jar命令的源泉,不过除了.,其他两个都是默认的,不设也行;如果有其他的东东也要设上去,如机子上装了tomcat就应该加上tomcat 5.0\common\lib下的jar文件,反正第三方类库都加上去,以便jvm找到着.如果用eclipse就要在eclipse里也设一下tomcat,这个以后在说吧.)

这两条命令的区别在于后者执行完后在当前目录下生成一个partners文件夹,里面有生成的tom.class. -d 表示指定在哪个目录下生成class文件,即使写一长窜嵌套的之前没有的目录,命令执行完之后也会生成的,这点不用担心的。至于前者执行完之后,还要人工创建一个partners文件夹,并把tom.class移进去。为什么一定要这个partners文件夹呢?这就看你对package的理解了。我们知道这里tom的全称是partners.tom,而jvm在处理它时把它转化为partners\tom或partners/tom(看不同的system了)。当你要运行它时,就应该在partners文件夹上一层目录用以下命令:java partners.tom。(在partners目录下用这个命令不行的:java tom,不然会出现一个error说类名找不到,只有partners\tom这个类名)于是jvm会循着这个线索对目录层层解析才能找到tom.class并执行它.如果你的package更长点也一样,比如:com.blogdriver.bubbletea, 不信就试试吧.jerry也是一样的道理.所有工作结束之后,我们有以下目录结构:

.–partners    –tom.class    –jerry.class

看到这里肯定有老兄会说为什么要这么复杂,干脆不要用package算了。package还是有很多好处的,主要是使类之间的访问有了限制,便于控制和管理。举个例子,在develop和production版本之间进行控制就很有好处了,当然如果你用eclipse之类的ide的话,就用不着上面这么复杂了,按下run按钮就行了。

下面要把它们打成可执行的jar文件.先自己动手创建一个.mf文件,里面写"main-class: partners.jerry\n",之后的目录结构如下:.–partners    –tom.class    –jerry.class–manifest.mf

manifest相当于一个货单,里面存了诸如执行的主类是哪个等信息,取其他名字也行。

然后运行下面命令: jar cvfm test.jar manifest.mf partners(至于cvfm是什么就看这个吧:jar -help,help很有用的啊)这其实是个压缩的过程.之后就生成可执行的jar文件了,如果是applet之类的文件双击即可执行,而本例双击之后结果很快显现并消失了,正常的人眼估计是看不到了,就用下面命令吧:java -jar test.jar.看到结果了吧.下面roger再给一个applet的例子,按照上面步骤弄一下,双击jar文件就可以看到很明显的结果了.

import javax.swing.*;import java.awt.*;public class myapplet extends japplet {  public void init() {    getcontentpane().add(new jlabel("applet!"));  }   public static void main(string[] args) {    japplet applet = new myapplet();    jframe frame = new jframe("applet");        frame.setdefaultcloseoperation(jframe.exit_on_close);    frame.getcontentpane().add(applet);    frame.setsize(100,50);    applet.init();    applet.start();    frame.setvisible(true);  }}

命令如下:javac myapplet.javajar cvfm test2.jar anothermf.mf myapplet.class

注意这样做一定要有main函数,有的applet没有的就自己加一个吧,跟上面的例子差不多,主要是japplet.init()和japplet.start()方法.jar的其他用法就不用roger说了吧,自己用-help看看就知道了.

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » "package中的javac,java用法" && "制作可执行jar文件"-JSP教程,Java技巧及代码
分享到: 更多 (0)

相关推荐

  • 暂无文章