2012-02-09 14 views
2

EclipseでJavaコードを変更しました。今、私はLinux O.Sでコードを実行する必要があります。 SSH経由で。私はすべてのファイルをコピーし、コードをコンパイルしようとしました。コンパイルはうまくいったので、コードにエラーはありませんでした。私はそれを実行しようとしたときとにかく、次のエラーがシェルに登場:?あなたは、私はJavaのコーディングで新しいので、私はどのように知っていない問題の種類変更されたJavaコードを実行する際の問題

[[email protected] models]$ java TanaModel 
    Exception in thread "main" java.lang.NoClassDefFoundError: TanaModel (wrong name:  models/TanaModel) 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:620) 
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) 
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) 
     at java.net.URLClassLoader.access$000(URLClassLoader.java:56) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:195) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:306) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) 

知っていますかそれを解決する。ありがとうございました。あなたがプログラムを実行しようとすると

+0

変更されたコードは何ですか? –

+1

Linuxボックスでコードをコンパイルしましたか? Javaが正しく設定されていますか(java -versionを試してみてください)? –

+0

ファイルとクラスの名前は何ですか? (ケースで正確にしてください) – smp7d

答えて

0

は、このようにそれを呼び出してみてください。

java models.TanaModel

+0

私は試しましたが、次のメッセージが表示されます:[ac6411 @エピジェネティックモデル] $ java models.TanaModel スレッド "main"の例外java.lang.NoClassDefFoundError:models/TanaModel – user1200825

1
java.lang.NoClassDefFoundError: TanaModel (wrong name: models/TanaModel) at 

あなたはどのようなコマンドを実行しなかった、私はjava TanaModelを推測していますか? は、ほとんどの場合、あなたのTanaModelはこのようにそれを呼び出してみpackage models;

であると宣言されています

java models.TanaModel 
これは、それがモデルディレクトリの下TanaModel.classを見つけることが期待されるが、他のどこかにそれを見つけ意味
+0

私に次のメッセージを送ってください:[ac6411 @エピジェネティックモデル] $ java models.TanaModelスレッド "main"の例外java.lang.NoClassDefFoundError:models/TanaModel – user1200825

+0

あなたのコード、ディレクトリ/パッケージのレイアウトとコードスニペットに関する情報をいくつか投稿してください。 –

2
wrong name:  models/TanaModel 

(たぶん現在のディレクトリ?)。モデルディレクトリにクラスファイルを置き、そして

java models.TanaModel 

のJavaクラスファイルは、あなたのソースコードで使用されるパッケージ構造を反映したディレクトリに整理されることを想定して、それを実行します。

+0

私はしようとしましたが、次のメッセージが表示されます。[ac6411 @エピジェネティックモデル] $ java models.TanaModelスレッド "main"の例外java.lang.NoClassDefFoundError:models/TanaModel – user1200825

+0

近づいてきました。現在のディレクトリ( "。")がクラスパスの一部であることを確認します(通常、CLASSPATH環境変数で設定されます)。 – theglauber

+0

CLASSPATHを変更して、すべてのファイルを置くディレクトリを参照するようにしましたが、同じ問題が発生します。アイデアはありますか? – user1200825

1

Eclipseのセキュリティ上の問題の場合は、これが役立ちます。

//Java Code 

try 
{ 
    AccessController.doPrivileged(new PrivilegedAction<Object>() 
    { 
     public Object run() 
     {  
       try 
       { 
       // Insert code here to do required action (get or open file) 
       } 
       catch (Exception e) 
       { 
       // Insert code to catch exception from trying to do above action 
       } 
     }  
    } 
    ); 
} 
catch(Exception e) 
{ 
// Insert code to catch failed doPrivileged() 
} 
関連する問題