所以,我可以很好地做到这一点:
java mypackage.MyClass
如果./mypackage/MyClass.class
存在的话。我也可以很高兴地这样做:
java -cp myjar.jar mypackage.MyClass
类文件是否存在于jar的适当部分,很简单,但是我一辈子都做不了这样的事情:
java -cp utilities.jar mypackage.MyClass
其中./mypackage/MyClass.class
存在,./utilities.jar
存在(当然不包含MyClass)。
我是不是觉得自己很蠢?
4条答案
按热度按时间pftdvrlh1#
可能:)
基本上,这只是在类路径和jar文件中包含
.
(当前目录)。wlwcrazw2#
如果您使用的是Windows,请尝试以下操作:
如果你使用的是Linux,那么就这样:
为
-cp
指定值时,默认情况下当前目录不在CLASSPATH
中。dtcbnfnu3#
这个问题似乎过时了。但是没有答案提到不先使用
javac
直接运行源文件的功能,适用于JDK 11+。在Linux上:
在窗口上:
omjgkv6w4#
应将
mypackage.MyClass
包含到CLASSPATH
或-cp
参数中。例如:路径分隔符在Windows上为
;
,在Unix/Linux上为: