用于导入JAR文件的Java代码

时间:2014-09-08 17:45:21

标签: java class jar import

我创建了一个JAR文件,然后将其添加到我项目的构建路径中。现在我如何将它导入我的班级,以便我可以使用它?到目前为止,我只尝试了import java-class.jar;

4 个答案:

答案 0 :(得分:2)

您在Java源代码中导入类,而不是jar文件。

让我们假设您有someJar.jar,其中包含3个类的类定义,FirstClass.classSecondClass.classThirdClass.class,所有这些类都在包org.somepackage中。

鉴于上述情况,您需要添加

import org.somepackage.FirstClass

在源文件的顶部,用于导入名为FirstClass的类。

答案 1 :(得分:1)

为此,您需要在编译和运行时将其添加到类路径中,例如

java -cp myJar.jar a.b.myMainClass

javac -cp myJar.jar a/*

答案 2 :(得分:0)

一旦jar在执行类路径上,你就可以正常导入它们:

import the.package.and.name.of.TheClass;

这是因为Java虚拟机具有"类路径"的概念。此类路径填充了jar文件中的所有文件(类和资源)以及放置在类路径上的文件夹。

例如,如果您有两个jar和一个文件夹:

A.jar
  com/
    mycompany/
      A.class
      Another.class
B.jar
  com/
    mycompany/
      B.class
      neededImage.gif
bin-folder/
  org/
    apache/
      Something.class

从JVM POV中,您可以获得所有这些文件夹的总和,就像它们位于单个文件夹中一样。

因此,您可以自由导入您需要的任何类,如果它位于jar或项目bin文件夹中,则可以单独指定完全限定名称。

事实上,罐子只不过是文件夹的zip文件,包含已编译的类(以及最终的其他资源)。

使用" -cp"运行程序时,类路径被声明给JVM。命令行开关。例如,对于之前的2个罐子和一个文件夹,在Windows上,您可以写:

java -cp A.jar;B.jar;bin-folder your.main.class.Here

答案 3 :(得分:0)

将jar添加到项目构建路径后,您可以专门导入类,也可以导入java类包。请参阅以下两个示例。

假设您想在自己的类中使用Scanner类的某些功能。然后你必须将Scanner类导入到你的类中。(请记住,在Scanner类的同一个包中还有更多其他类)。

要从util包中专门导入Scanner类,可以使用以下语法。

import java.util.Scanner;

这将只导​​入util包中的Scanner类,并且只允许使用Scanner类的函数。

要导入util包中的所有类,可以使用以下语法

import java.util.*;

这将导入util包中的所有类,并且允许您使用类中任何类的任何功能(不仅仅是Scanner类的功能)。

第二种方法称为wildcard import。特定导入和通配符导入声明之间没有性能差异。

您无法导入.jar文件。