私は2つの異なるJavaプロジェクト(簡単にするためにプロジェクト1とプロジェクト2を呼びます)をEclipseにロードし、プロジェクト1をプロジェクト2のビルドパスに追加します。私はプロジェクト2用のテストクラスにプロジェクト1のsrcフォルダ内のみのパッケージをインポートし、そのテストクラスのコード内で私は、次のようなプロジェクト1からクラスの単純なオブジェクトの宣言を持っている:クラスがビルドパス上にあるにもかかわらず、クラスネストClassNotFoundExceptions
ProjectOneClass object = new ProjectOneClass();
このコードはエラーなしでコンパイルされ、コンパイラはこれらのクラスがビルドパス上にあることを認識します。しかし、Junit4でJavaアプリケーションとしてコードを実行すると、これらのコード行に渡ってClassNotFoundExceptionsがスローされます。コードはこれらのClassNotFoundExceptionsをエラーログに出力することになっていますが、何らかの理由で何も印刷されていません。私は単純なものを使用しています
try {
...
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
構造だから、なぜ私はエラーログに印刷されていないのかわかりません。
JUnitのプリントアウトは単純です:
Junit execution complete
Summary: 4 succeeded, 3 failed.
成功4は、インポートされたプロジェクト1パッケージを参照しません。
私はビルドパス設定の変更方法を試してみましたが、改善の約束は何もありませんでした。私が考えることができるのは、ビルドパス設定ウィンドウの[注文とエクスポート]タブで指定されたビルドパスの順序です。今すぐ注文があります:
project 2 packages
EAR Libraries
JRE System Libraries
JUnit4
a few JAR files (c3p0, commons-codec, ojdbc6)
project 1
問題がここにあるかどうかはわかりませんが、もし誰かがこれで私を助けることができたら、私はとても感謝しています。読んでくれてありがとう。
どのように実行していますか、エラー出力はどのように見えますか? –
ProjectOneClassはJARファイルにありますか? – bcoughlan
私はどのように私はそれを実行しているとエラーログの情報に関する詳細との投稿を編集しました。プロジェクト1は私のワークスペース内の別のプロジェクトなので、そのクラスはJARファイルにありません。 – lowell