对不起,这可能是一个愚蠢的问题,但是我正在尝试从另一个目录运行.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
)转换为这种奇怪的“特殊格式”?谢谢!
答案 0 :(得分:3)
我假设您的SoundHandler.java文件没有任何打包语句?
在这种情况下:
java -cp /full/path/to/your/project/dir/target/classes SoundHandler
您正在谈论的“特殊格式”只是类,包以及所有内容的全名。由于没有软件包,因此“全名”仅为SoundHandler
,但您确实需要告诉VM可以在哪里找到该文件,这就是-cp参数将执行的操作。