我写了一个简单的hello world程序来测试JDK的安装.我可以使用以下命令从Vim编译:
:!javac Desktop\HelloWorld.java
这工作正常,但当我尝试使用以下程序运行程序:
:!java Desktop\HelloWorld
它给了我这个错误:
C:\ Windows\system32\cmd.exe/c java"Desktop\HelloWorld"java.lang.ClassLoader.defineClass1(Native方法)在java.net.URLClassLoader.defineClass(未知来源)的java.lang.ClassLoader.defineClass(未知来源)java.net.URLClassLoader.defineClass(未知来源)java.net.URLClassLoader.access $ 000(未知来源) )java.net.URLClassLoader $ 1.run(未知来源)java.security.AccessController.doPrivileged(本地方法)java.lang.ClassLoader.findClass(未知来源)java.lang.ClassLoader.loadClass(未知来源) at sun.misc.Launcher $ java.lang.ClassLoader.loadClass(Unknown Source)at java.lang.ClassLoader.loadClassInternal(Unknown Source)无法找到主类:Desktop\HelloWorld.程序将会退出.
该程序从正常的命令行工作正常.
C:\Users\Casey\Desktop>java HelloWorld Hello world!
如何在不必切换到标准cmd的情况下从Vim执行程序?
java
不会将文件名作为其第一个非选项参数.相反,它应该指定主类名(.
在包名和类名之间有s,如果有任何包以外的默认值).使用-classpath
指定从何处加载类(与你的操作系统的目录分隔符分隔的目录(\
)).
:!java -classpath Desktop HelloWorld