【发布时间】:2015-11-02 06:43:15
【问题描述】:
我正在使用一个 Java 外部库,一个包含许多类的 .JAR 文件。
我有两个问题:
在 .JAR 文件中使用类时遇到问题。问题是当类本身定义了一些变量时,我该如何访问它? .JAR 中的类本身会自动找到它还是我应该调用它?
我想知道哪种方法最好:使用外部库 .JAR 文件或创建 .JAR 文件中包含的类和方法,并将它们包含在我正在处理的项目中,假设我有我需要使用的类的源代码 .JAVA 文件和 .JAR 文件?
考虑下面的代码,它来自我想在当前项目中使用的外部项目,我有 .JAR 和 .JAVA 文件。
例如,下面的代码有一个名为 original_executer 的变量,该变量在此方法之外定义。如果我调用此方法并为其提供所需的字符串,它会正确执行其功能还是会出现错误?
public boolean readSet(String setName){
testSet = testSetName;
OriginalLoader myLoader = new OriginalLoader();
original_executer = myLoader.loadTestClass(testSet);
original_obj = original_executer.newInstance();
if(original_obj==null){
System.out.println(" Can't instantiate original object");
return false;
}
return true
}
【问题讨论】:
-
您是否检查过您是否可以从您的
Jar文件中访问Java类?如果您能够访问类,那么您必须检查变量的访问说明符..它是否可以在外部访问? -
(1) 如果您的 JAR 包含在类路径(或 IDE 的构建路径)中,您应该能够像访问任何其他类一样访问它,因此您还应该能够使用该类的可用成员为你。只需确保将 JAR 中的类放在包中,并且您应该能够通过
name.of.package.YourClass访问它们。 (2) 如果您不需要修改这些类,那么 JAR 应该没问题。