我正在尝试创建一个 java 程序来查找用户的 ip 地址。 prgram 编译得很好,我的问题是当我尝试使用 java
命令运行它时,我得到一个错误,说它找不到或加载类文件。我发现它正在将任何“/”更改为“.”。我试过:
java /home/pi/Desktop/ip.class
它返回:
错误:无法找到或加载主类 .home.pi.Desktop.ip.class
将转义字符 \
作为前缀添加到所有 /
没有任何效果。
同样的事情发生在我尝试过的任何路径上,我怎样才能让 java
程序接收/而不是 . ?
最佳答案
当您希望 java
运行特定类时,您传递的是类名,而不是包含该类的文件的位置。
如果.class
文件不在当前工作目录中,您需要指定类路径参数(-cp
)。像这样的东西:
java -cp <location of the class> <fully-qualified name of the class>
在你的情况下,它可能是:
java -cp /home/pi/Desktop ip
但是您可能需要使用声明所在的包来限定 ip
类名,例如
package my.package;
class ip {}
需要
java -cp /home/pi/Desktop my.package.ip
关于Java 可执行文件将/转换为句号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36618460/