当前位置: 首页 > 知识库问答 >
问题:

Java类路径不工作?

谢洛城
2023-03-14

我正在尝试为我正在编写的程序使用其他JAR。

安装了所有必需的文件,并将它们添加到类路径中,但Java无法识别这些包。

我在jar位置之间加了分号,但Java无法识别jar中的包。为什么会这样?

例如,我的类路径如下所示:

.; C:\Program Files(x86)\Java\jre7\lib\exts\QTJava.zip;C:\用户\JOE\下载\aseymock-3.2\asymock-3.2\easymock-3.2.jar;C:\用户\JOE\下载\cglib-3.1.jar;C:\用户\JOE\下载\Objenise-2.1-bin\objenesis-2.1.jar

但是如果我尝试导入packageorg。easymock。EasyMock例如,该软件包无法识别。

共有1个答案

林昱
2023-03-14

如果试图从外部JAR加载依赖项,请使用-classpath(或)-cp命令行参数指定路径。为执行的每个程序更改CLASSPATH环境变量并不理想。

java程序的默认ClassPath是dot(.),表示当前目录

请记住,当您使用-cp/-classpath参数时,它们将覆盖默认的类路径设置,因此您应该明确添加默认路径,如下所示。

在窗户上

Javac-cp PathToYourJar Main.java

执行时不要忘记添加当前目录

java-cp。;pathToYourJar Main

为了让事情变得更简单,我建议使用Eclipse/NetBeans/IntellijIDEA这样的IDE。如果您已经在使用Eclipse,请将JAR添加到项目的构建路径中

右键单击项目--属性--Java构建路径--库--添加外部JAR

 类似资料:
  • 问题内容: 我试图了解类路径是如何工作的。在网上搜索之后,这是我到目前为止所到达的地方: 我已经添加了 在。顺便说一下,我正在运行Ubuntu。 Java找到路径并进行编译而没有问题。 问题是,如果我更改CLASSPATH,然后执行以下操作:,则不会应用新的CLASSPATH。当且仅当我重新启动系统时,它才适用。例如,如果我删除了 行,然后我执行/ etc / environment的源代码,最后

  • 我的java bin文件夹包含java.exe @大卫华莱士 Microsoft Windows[版本6.3.9600](c)2013 Microsoft Corporation。保留所有权利。 C:\用户\Andy\AppData\漫游\Microsoft\Windows\开始菜单\Programs\Startup>

  • 将一个旧的ERP系统迁移到JPMS是一个很大的问题(Java11Eclipse找到了自动模块,Maven没有),所以我决定首先尝试用Java11替换Java8,但通过不引入任何模块信息来保持类路径上的所有内容。java文件。这实际上进行得相当顺利;Maven编译这个程序没有问题,生成的应用程序也从命令行启动。 但当我将Maven项目导入Eclipse2019-03时,它抱怨a.o.java。xml

  • 问题内容: 我正在编写一个使用Oracle JDBC驱动程序的Java程序。我已经在我的类路径中设置了它。当我在IDE中运行程序(作为jdbc作为库添加)时,程序运行正常。当我尝试部署它时,它完全忽略了classpath中的清单,并给了我一个NoClassDefFoundError。 我想使用客户端的JDBC驱动程序(已安装的JDBC驱动程序),并且不提供自己的驱动程序。我打包了来自JDevelo

  • 问题内容: 我有两节课: MyApplication 库 该库已被编译为Library.class,并且源代码不再可用。我现在正在尝试从源代码编译MyApplication。MyApplication取决于库。该库的软件包名称为org.myCompany。我尝试将我的类路径设置为以下内容: 产生以下javac编译器错误消息: 所以我将类路径更改为: 产生完全相同的错误消息。 如何设置Windows

  • 问题内容: 我一直在尝试运行一个jar文件-我们称它为test.jar-在Unix系统上使用Sybase jconn3.jar。 我创建了一个具有以下内容的MANIFEST.MF文件: 这给出了ClassNotFoundError。$ SYBASE是指向/ opt / sybase13的系统变量;我还尝试了以下方法: 和 但是,如果我将jconn3.jar文件从$ SYBASE / jConnec