Java 使用已生成路径的jar文件中的类文件

Java 使用已生成路径的jar文件中的类文件,java,class,jar,Java,Class,Jar,我在这里有点迷路了。我们得到了一个jar文件,其中包含3个不同的.class文件。我成功地构建了jar文件的路径,但我不知道如何使用它们。类文件显然包含可以使用的方法,但我以前从未使用过jar文件,所以我不知道如何使用它们。我不确定是否必须以某种方式导入它们,如何实例化它们或其他任何东西。我已经搜索了教程,但没有结果 我所寻找的只是一些指导,这样我就可以开始这个项目了。如果我必须以某种方式导入它们,我将如何操作?例如,WikiEdits.jar中包含WikiEdits.class。我的主类的名称

我在这里有点迷路了。我们得到了一个jar文件,其中包含3个不同的.class文件。我成功地构建了jar文件的路径,但我不知道如何使用它们。类文件显然包含可以使用的方法,但我以前从未使用过jar文件,所以我不知道如何使用它们。我不确定是否必须以某种方式导入它们,如何实例化它们或其他任何东西。我已经搜索了教程,但没有结果


我所寻找的只是一些指导,这样我就可以开始这个项目了。如果我必须以某种方式导入它们,我将如何操作?例如,WikiEdits.jar中包含WikiEdits.class。我的主类的名称是P2。有人能给我举一个简单的例子说明这是如何工作的吗?

您需要将WikiEdits.jat添加到path项目中,然后导入并实例化该类

import WikiEdits

P2 p = new P2();
p.somemethod();
静态类:

WikiEdit.someMethod();

在java类中,从jar添加相关的
imports
。然后从命令行,您可以通过定义正确的类路径,使用jar中的类编译和运行您的类:

汇编

在windows上:

javac -cp .;pathtoyourjar YourClass.java
java -cp .;pathtoyourjar YourClass
在linux上:

javac -cp .:pathtoyourjar YourClass.java
java -cp .:pathtoyourjar YourClass
执行

在windows上:

javac -cp .;pathtoyourjar YourClass.java
java -cp .;pathtoyourjar YourClass
在linux上:

javac -cp .:pathtoyourjar YourClass.java
java -cp .:pathtoyourjar YourClass
如果您使用的是Eclipse,请按照以下链接了解将jar添加到项目中的步骤:


如果您使用的是IDE,请将jar添加到类路径中

然后,使用它的java类将如下所示:

package p2;
import blah.WikiEdits;  //references a class in the jar

public final class P2 {  //(this is a strange name for a class, by the way)
  public static void main(String... args){
     //builds a new object of the given class
     WikiEdits thing = new WikiEdits();
  }
}
如果您正在使用命令行,以下示例可能会有所帮助:

你在和maven一起工作吗?你的ide是eclipse吗?如果你在
eclipse
,你必须在项目的构建路径上添加你的
jar
。@ZaoTaoBao和RUI-不使用maven,是的,我正在使用eclipse。我已经在项目构建路径上添加了jar。我只是不明白如何在编写代码时实现类文件中包含的内容。您可以尝试使用java反编译器来查看jar文件。例如java反编译器。我是个新手,所以我不确定“从jar中导入相关内容”是什么意思@Geoff您需要为要在代码中引用的类以及jar文件中存在的类添加导入语句。我假设blah就是这个包。我说得对吗?如果是这样,它说p2.WikiEdits无法解决。p2是我的包是的,blah是包,但属于WikiEdits类,而不是您正在编码的类。是什么导致它说它无法解决,我如何修复它?类路径有问题。再检查一遍。如果愿意,将Eclipse创建的.classpath文件发布到应用程序的根目录中。Eclipse:Project->Build Path->Configure Build Path->Libraries->Add Jar,指向该文件。与上面的John O一样尝试了这个方法,它一直告诉我无法解析导入WikiEdits。使用反编译器查看Jar文件以检查名称。