在java

时间:2015-08-10 11:13:41

标签: java class methods jar

我正在使用Java外部库,这是一个包含许多类的.JAR文件。

我有两个问题:

  1. 在.JAR文件中使用类时遇到问题。问题是当类本身定义了一些变量时,我该如何访问它? .JAR中的类是自动找到它还是应该调用它?

  2. 我想知道最好做什么:使用外部库.JAR文件或创建.JAR文件中包含的类和方法,并将它们包含在我正在处理的项目中,假设我有源代码.JAVA文件和我需要使用的类的.JAR文件?

  3. 考虑下面的代码,它来自我想在当前项目中使用的外部项目,我有.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
    }
    

3 个答案:

答案 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文件添加到类路径中,或者如果你想修改库,下载它的源代码并把它放到进入你的工作区。