我正在使用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
}
答案 0 :(得分:0)
如果将.jar添加到类路径中,则可以使用所有内容,就像在项目中定义一样。
如果您的.jar文件是外部库,最好将库保留在.jar中并从那里使用它。每当库更新时,您都可以覆盖库.jar。
答案 1 :(得分:0)
鉴于您的jar已正确添加到类路径中,并且您已在代码中使用了必要的导入,您可以使用任何类或变量以及正确的jar修饰符...
最好是将外部库用作jar ..并通过Maven等包依赖工具来使用它,它会自动为你下载最新版本的jar。然后你可以编译并运行最新版本
答案 2 :(得分:0)
要访问类中定义的变量,您需要使用提供的getter方法。否则,您需要使用Reflection通过执行类似
的操作来获取值Class.getClass().getField("field_name").set(Class.getClass(), "value");
虽然我对这个问题的有效性并不是100%肯定,但我确信它是这样的。
对于第二个问题,我不太确定你在问什么,但是你应该总是将.jar文件添加到类路径中,或者如果你想修改库,下载它的源代码并把它放到进入你的工作区。