JDKのインストールをテストするための単純なhello worldプログラムを作成しました。私が使ってVimのからコンパイルすることができますVim:vimコマンドでjavaを実行するとエラーが発生する
うまく動作しますが、私は使用してプログラムを実行しようとすると、:!javac Desktop\HelloWorld.java
:
C:\Windows\system32\cmd.exe /c java "Desktop\HelloWorld" Exception in thread "main" java.lang.NoClassDefFoundError: Desktop\HelloWorld (w rong name: HelloWorld) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) Could not find the main class: Desktop\HelloWorld. Program will exit.
プログラム:
:!java Desktop\HelloWorld
を、それは私にこのエラーが発生します通常のコマンドラインからうまく動作します。
C:\Users\Casey\Desktop>java HelloWorld
Hello world!
標準のcmdに切り替えることなくプログラムをVimから実行するにはどうすればよいですか?
ではありません!java -classpath Desktop.HelloWorld? はあなたの期間を過ごしたようです。 – GoingTharn
HelloWorldはクラスです、デスクトップはそれを見つけることができるパスです。また、クラスがデフォルトのパッケージを使用しているようです(そうでないとjava HelloWorldは動作しません)。したがって、そこに点がないことは確かに正しいです。 – Joey
そうです。 'Desktop'はパッケージのために間違っている最初の帽子を持っています。 'Desktop'は私がWindows上で見つけることが期待されるディレクトリでもあります。 –