gpt4 book ai didi

JAVA新手警报: Trying to run Java class and getting ClassNotFoundException

转载 作者:行者123 更新时间:2023-12-01 16:41:30 25 4
gpt4 key购买 nike

Java新手。我正在尝试从 cmd 行运行 java 主类并返回 ClassNotFoundException:

java -cp class c:\development\eclipse\workspace\Library-Manager-Server\bin\demo\rmi\librarymanager\server\LibraryManagerServer 

-Djava.security.policy="C:\Development\Eclipse\Workspace\Library-Manager-Server\security.policy"

-Djava.rmi.server.codebase="file:/C:/Development/Eclipse/Workspace/Library-Manager-Server/bin/ file:/C:/Development/Eclipse/Workspace/Library-Manager-Common/bin/"

该类肯定在 bin 中(eclipse 将其删除的位置),但由于某种原因(可能是微不足道的),当我运行上面的 cmd 行时找不到它。

感谢任何帮助!

编辑#1:你们中的一些人可能已经猜到类名是demo.rmi.librarymanager.server.LibraryManagerServer

EDIT#2:好的 - 感谢人们的建议,我想这次我的语法是正确的,但我仍然得到 ClassNotFoundException 但在公共(public)的不同类上封装:

demo.rmi.librarymanager.common.Library

这是新的命令行:

java -cp c:/development/eclipse/workspace/Library-Manager-Server/bin demo.rmi.librarymanager.server.LibraryManagerServer 

-Djava.security.policy="C:/Development/Eclipse/Workspace/Library-Manager-Server/security.policy"

-Djava.rmi.server.codebase="file:/C:/Development/Eclipse/Workspace/Library-Manager-Server/bin file:/C:/Development/Eclipse/Workspace/Library-Manager-Common/bin"

我应该添加 c:/development/eclipse/workspace/Library-Manager-Common/bin 路径(其中 demo.rmi.librarymanager.common.Library 所在位置) )与 -cp 之后的 c:/development/eclipse/workspace/Library-Manager-Server/bin 一起作为命令行参数?

感谢大家的帮助和耐心 - 我正在开发一个 RMI 应用程序,一切都很好,直到我在 eclipse 中使用 RMI plugin 工作。但现在我遇到了一些困难,因为我对 java 还很陌生(正如你从我的问题中看到的那样!)。

编辑#3:好的,我成功了:

java -cp c:/development/eclipse/workspace/Library-Manager-Server/bin;c:/development/eclipse/workspace/Library-Manager-Common/bin 

demo.rmi.librarymanager.server.LibraryManagerServer

-Djava.security.policy="C:/Development/Eclipse/Workspace/Library-Manager-Server/security.policy"

-Djava.rmi.server.codebase="file:/C:/Development/Eclipse/Workspace/Library-Manager-Server/bin file:/C:/Development/Eclipse/Workspace/Library-Manager-Common/bin"

感谢大家的谦逊。

最佳答案

java 命令行是:

Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.

我想我看到了你的问题 - 'class' 不是关键字;它是您必须替换的完全限定的类名。

如果您的类文件位于 bin 中,则命令可能如下所示:

java -cp bin myClass

也许是这样

java -cp bin demo.rmi.librarymanager.server.LibraryManagerServer

如果您位于 Eclipse 项目的目录中。

请注意,Eclipse 有类所在位置的设置(您可以覆盖这些设置)。我发现不同版本的Eclipse默认有不同的。所以我看到了 binclasses 或(因为我使用的是 maven)target/classes

关于JAVA新手警报: Trying to run Java class and getting ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1967316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com