无法运行Java .class文件,因为找不到它

时间:2018-09-16 21:44:03

标签: java

对不起,这可能是一个愚蠢的问题,但是我正在尝试从另一个目录运行.class文件(.class文件位于./target/classes/中)。当我从.class文件所在的目录运行时,它将运行,获取arg并播放声音文件。当我从另一个目录运行.class文件的路径时,它说找不到。还将/变成.

我做了一些研究,发现它可能是CLASS_PATH变量的一部分。我将当前目录添加到类路径,然后尝试运行它。一样。我尝试使用-cp ./参数运行它。一样。

我将范围缩小到需要为路径提供点。我查看了一些示例,他们都说要这样做:com.example.foo。我如何将这个./target/classes/SoundHandler.class(完整路径为/Users/Milo/Developer/JOE/target/classes/SoundHandler.class)转换为这种奇怪的“特殊格式”?谢谢!

1 个答案:

答案 0 :(得分:3)

我假设您的SoundHandler.java文件没有任何打包语句?

在这种情况下:

java -cp /full/path/to/your/project/dir/target/classes SoundHandler

您正在谈论的“特殊格式”只是类,包以及所有内容的全名。由于没有软件包,因此“全名”仅为SoundHandler,但您确实需要告诉VM可以在哪里找到该文件,这就是-cp参数将执行的操作。