Java jar文件_Java教程

内容摘要
Java应用程序在运行时,需要将使用到的类的字节加载到内存,因此,对字节码文件所在的位置有一定要求,一般分为以下四种情形
文章正文

Java应用程序在运行时,需要将使用到的类的字节加载到内存,因此,对字节码文件所在的位置有一定要求,一般分为以下四种情形:

1)使用当前应用程序所在目录中没有包名的类:

对于当前应用程序所在目录中没有包名的类,可直接加载使用。

2)使用Java运行环境中类库中的类:

Java运行环境所提供的类库中的类都是有包名的,应用程序必须使用import语句引入相应包中的类。

3)使用应用程序当前目录的子孙目录中的类:

应用程序当前目录下的子孙目录可以作为用户自定义包的包名,具有该包名的类必须存放在这些子孙目录中,应用程序就可以使用import语句引入用户自定义包中的类。

4)使用Java运行环境扩展中的类:

我们可以使用jar.exe命令把一些类的字节码文件压缩成一个jar文件,然后将这个jar文件存放到Java运行环境的扩展中,即将该jar文件存放在JDK安装目录的jre\lib\ext文件夹中,这样,Java应用程序就可以使用这个jar文件中的类来创建对象。

有包名的类:

假设下列TestOne和TestTwo类的包名为moon.star。

TestOne.java

package moon.star; //包语句
public class TestOne {
    public void fTestOne() {
        System.out.println("I am a method In TestOne class");
    }
}

TestTwo.java

package moon.star; //包语句
public class TestTwo {
    public void fTestTwo () {
        System.out.println("I am a method In TestTwo class");
    }
}

将TestOne.java和TestTwo.java保存到C:1000\moon\star目录中,然后进入该目录分别编译这两个源文件。

现在,我们就将C:1000\moon\star目录中的TestOne.class和TestTwo.class压缩成一个jar文件:Jerry.jar。

首先,我们编写一个清单文件:hello.mf(Manifestfiles)。

hello.mf

Manifest-Version: 1.0
Class: moon.star.TestOne moon.star.TestTwo
Created-By: 1.6

将hello.mf保存到C:\1000目录中,为了使用jar命令来生成一个jar的文件,首先需要进入到C:\1000目录,即进入包名的上一层目录,然后使用jar命令来生成一个名字为Jerry.jar的文件。

C:\1000> jar cfm Jerry.jar hello.mf moon\star\TestOne.class moon\star\TestTwo.class

如果C:\1000\moon\star只有TestOne.class和TestTwo.class两个字节码文件,也可使用jar命令。

C:\1000> jar cfm Jerry.jar hello.mf moon\star\*.class

最后,将jar命令在C:\1000目录中生成的Jerry.jar文件复制到Java运行环境的扩展中,即将该Jerry.jar文件存放在JDK安装目录的jre\lib\ext文件夹中。

无包名的类:

如果TestOne和TestTwo类没有包名,只需将TestOne.java和TestTwo.java保存到C:\1000中,编译得到字节码文件。编写一个清单文件,然后保存到C:\1000中,进入到C:\1000目录,使用jar命令。

C:\1000> jar cfm Jerry.jar hello.mf TestOne.class TestTwo.class

如果C:\1000只有TestOne.class和TestTwo.class两个字节码文件,也可使用jar命令。

C:\1000> jar cfm Jerry.jar hello.mf *.class

最后,将jar命令在C:\1000目录中生成的Jerry.jar文件复制到JDK安装目录的jre\lib\ext文件夹中,应用程序就可以直接使用Jerry.jar文件中的TestOne.class和TestTwo.class。

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!