2017-06-30 7 views
-1

私は2つのクラスXとYを同じパッケージに持っています。
クラスXには、import org1.A
があり、クラスYには、import org2.AA.somemethod()があります。
実行時にA.somemethod()が呼び出されたときにNoClassDefFoundErrorが発生しています。これの理由は何でしょうか?
以前はclass Aの代わりにorg2からclass Aを使用しようとしていましたが、なぜこれが起こっているのかは十分にはわかりません。実行時にインポートステートメントを使用していますか?インポート文は実行時にどのように役立ちますか

+5

"実行時にインポート文を使用することはありますか?"いいえ。これらはコードで純粋に使用され、コンパイラによって完全修飾名に展開されます。 –

+0

クラスパスの問題かもしれない ' –

+0

@ΦXocę笑Пepeúpaツ" maybe " - >間違いなく。 –

答えて

1

クラスパスにクラスが追加されたかどうかをチェックすると、実行時にコンパイラはsrcファイルにインポートされたクラスを参照しようとします。

Check org1.Aとorg2.Aは、両方ともコンパイルされ、targetディレクトリ内のthis .classファイルを生成します。

もっと正確な答えを得るには、コードスニペットを改善してください。

助けがあれば、これは助けてください。

関連する問題