2012-03-30 11 views
0

MainController.javaという名前のシンプルなJavaプログラムがあります。私はjavac MAinController.javaを記述してMainController.javaファイルを保存したディレクトリからコンパイルしようとします。コンパイルは正しく行われ、同じディレクトリにMainController.classファイルが生成されます。私は、「Javaのメインコントローラ」を書き込むことにより、ファイルを実行しようとすると、今度 1)、それは私が私のクラスパスに問題があると知っている私にUbuntuでclasspthを設定する

Exception in thread "main" java.lang.NoClassDefFoundError: MainController (wrong name: cased/test/MainController) 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:634) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277) 
at java.net.URLClassLoader.access$000(URLClassLoader.java:73) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:212) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:205) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:321) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:266) 
    Could not find the main class: MainController. Program will exit. 
    [email protected]:~/workspace/Test/src/cased/test$ 

を与えます。どうすれば設定できますか? MainController.classファイルがあるディレクトリから "java MainController"コマンドを実行すると、それを実行する必要があります。私はそれを実行するたびに-cpパラメータをjavaコマンドに渡したくない。 JVM情報については

私は、 "Javaの-version" を実行し、それは次のように表示されます

Javaのバージョン "1.6.0_22" OpenJDKのランタイム環境(IcedTea6 1.10.6)(6b22-1.10.6-0ubuntu1) OpenJDK Server VM(ビルド20.0-b11、混在モード)

classpath変数の設定方法と、上記のjvmの設定方法を教えてください。

ありがとうございます。

答えて

0

MainControllerを実行するときに、パッケージ名を追加する必要があります。あなたの~workspace/Test/srcディレクトリから、次のコマンドを実行します。

javac cased/test/MainController.java 
java cased.test.MainController 
0

あなたは-cpフラグを毎回設定したくない場合は、CLASSPATH環境変数を使用することができます。 しかし、この変数をあなたの共通jarsディレクトリ(あなたのプロジェクトのlibディレクトリとsrcのようなもの)に設定したいと思うかもしれません。 のjavac org.examples:問題はあなたが使用する必要がありorg.examplesパッケージにあるクラスのメインコントローラについては、例えば、完全なクラス名 - パッケージ+クラス、 を設定する必要があるということであるようにとにかく

、それが思われます。プロジェクトのメインディレクトリのMAINController

+0

クラスパス環境変数を指定したい場合はどうすればいいですか?私は構文が私に教えてくれるの?どこに書き込むのですか? – Ragini

+0

export CLASSPATH = "/ home/user/project/lib:/ home/usr/project/src" – shem

関連する問題