[英]Java code to import JAR file
我创建了一个JAR文件,然后将其添加到项目的构建路径中。 现在如何将其导入我的班级以便可以使用? 我只尝试了import java-class.jar;
至今。
您可以在Java源代码中导入类,而不是jar文件。
假设您有someJar.jar
,其中包含3个类的类定义, FirstClass.class
, SecondClass.class
和ThirdClass.class
,它们都在org.somepackage
包中。
鉴于以上所述,您将添加
import org.somepackage.FirstClass
在源文件的顶部导入名为FirstClass
的类。
为此,您需要在编译和运行时将其添加到类路径中,例如
java -cp myJar.jar abmyMainClass
要么
javac -cp myJar.jar a/*
将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文件夹中),则可以独立进行。
实际上,jar只是文件夹的zip文件,其中包含已编译的类(以及最终的其他资源)。
运行程序时,使用“ -cp”命令行开关将类路径声明为JVM。 例如,对于Windows上的前2个jar和一个文件夹,您将编写:
java -cp A.jar;B.jar;bin-folder your.main.class.Here
将jar添加到项目构建路径后,可以专门导入类,也可以导入java类包。 请参阅以下两个示例。
假设您想在自己的类中使用Scanner类的某些功能。 然后,您必须将Scanner类导入到您的类中(请记住与Scanner类在同一包中还有很多其他类)。
要专门从util包导入Scanner类,可以使用以下语法。
import java.util.Scanner;
这将仅从util包中导入Scanner类,并且仅允许使用Scanner类的功能。
要导入util包中的所有类,可以使用以下语法
import java.util.*;
这将导入util包中的所有类,并且允许您使用该类中任何类的任何功能(不仅限于Scanner类的功能)。
第二种方法称为wildcard import
。特定的导入和通配符导入声明之间没有性能差异。
您不能导入.jar文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.