0

簡単なJavaプログラムを書いた

package abc.def.ghi 
public class Foobar{


   public String printS(String s){
     System.Out.println(s);

 public static void main(String [] args){
   String s = args[0];
   Foobar foobar = new Foobar();
    foobar.printS(s);
}

今、私はjavac Foobar.javaをしました

クラスファイルを作成しました

そして、私はやった

java Foobar

うまくいきませんでした

 java Foobar hi //args

うまくいきませんでした

ジャバ -cp . abc.def.ghi.Main

DIdntは機能しました。

私が得ているエラーは次のとおりです。

Exception in thread "main" java.lang.NoClassDefFoundError: abc/def/ghi/Main
Caused by: java.lang.ClassNotFoundException: com.intel.hadoop.graphbuilder.conf.Main
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: com.intel.hadoop.graphbuilder.conf.Main.  Program will exit.
4

2 に答える 2

3

.classファイルをパスに入れました(path to project)/abc/def/ghi/Foobar.classか?

NoClassDefFoundError: abc/def/ghi/Foobar

していないようです。

于 2013-01-03T23:09:41.600 に答える
1

を使用してコンパイルする場合

javac -d . Foobar.java

コンパイラは.class、パッケージ名と一致するようにファイルを適切なディレクトリに配置します。

java abc.def.ghi.Foobar

正常に実行されるはずです。

于 2013-01-03T23:16:43.277 に答える