2011-06-26 5 views
9

私はEclipseを使用して開発をスイングするのは初めてですが、私はJavaコード開発用にEclipseを使用しています。 1年以上今日、私はサンプルのスイングクラスを書いたときに、日食からの好奇心的なエラーを得ました。プロジェクト名がワークスペース名と同じ場合、Eclipseのクラスパスで参照されるスイングは存在しません

私はワークスペーススイングを作成し、ワークスペースと同じ名前で新しいプロジェクトを作成しました。プロジェクト内にサンプルクラスを作成しました。下記のコードを見つけてください。私は日食でそれを実行しようとしたとき

import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.SwingUtilities; 


public class SwingDemo { 

    public SwingDemo() { 
     // TODO Auto-generated constructor stub 
     JFrame jFrame = new JFrame("A sample swing application"); 
     jFrame.setSize(275, 100); 

     jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JLabel jLabel = new JLabel("Welcome to swing!!!!"); 
     jFrame.add(jLabel); 

     jFrame.setVisible(true); 
    } 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     SwingUtilities.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       // TODO Auto-generated method stub 
       new SwingDemo(); 
      } 
     }); 

    } 

} 

は、以下のエラー

プロジェクトの結果:クラスパスで参照されているスイングは、存在しません。

プロジェクト名とワークスペース名が異なる場合、同じコードが正常に実行されました。

私は不思議なことに、このエラーの原因は何ですか?助けてください

+1

ありがとうございます、あなたの質問は実際に助けてくれました:)。私がワークスペース以外の名前でプロジェクトの名前を変更したとき、問題は修正されました:) –

答えて

6

"Java Build Path"セクションと "Projects"タブのプロジェクトプロパティでは、このプロジェクトが依存する他のプロジェクトのリストです。これを見ると、 "xxxxxx"プロジェクトをリストしている行の、プロジェクトのリストに少なくとも1つの赤いマーカーが表示されます。そのプロジェクトが本当に必要ない場合は、その行を選択して[削除]と[OK]をクリックします。それがちょうど他の問題を生み出すならば、その欠けているプロジェクトにあったものを見つけ出してそれを作り出す必要があります。おそらくあなたのプロジェクトに必要なものを表す、少し異なる名前のワークスペースに別のプロジェクトがありますか?

+0

プロジェクトがワークスペースとまったく同じ名前の場合は、そうではありません。赤でマークされたプロジェクトは削除できません。私はこれがEclipseのバグで、プロジェクトやワークスペースの名前を変更する以外には簡単に修正できないと考えています。 –

+2

これは実際にEclipseの既知のバグです。あなたの含むフォルダがProject Eclipseと同じ名前であれば、プロジェクトを見つけることができません。 –

+0

Simon Jensen、あなたは正しいです。プロジェクトを助けることができます。 – sergionni

14

私はあなたと同じ問題に直面しています。 プロジェクトとワークスペースに同じ名前を付けないでください。このような場合は、別の名前を付けて再構築してください。それが動作します。

+0

あなたは私の一日を作る、(^^。 あなたの華麗な答えをありがとう –

0

エラーの原因の1つは、WorkspaceとProjectの両方で同じ名前を使用している可能性があります。

これを変更して再構築すると、その場合に問題が解決するはずです。

関連する問題