2017-06-21 13 views
-1

私は以下の問題があります:Reflectionをjavaのパッケージ間で適用できるか?私は2つのパッケージ パッケージまず\ SRCクラスAクラスTestReflectionで今すぐ クラスB クラスTestReflection パッケージ第二の\ SRC クラスD クラスEクラス横断的なクラスリスト間接的に

を持って、私はすべてを取得するコードを書かれている:例えばのためにReflection APIを使用して動的にパッケージに与えられたクラス名。これは、私がパッケージFirst \ srcを与えるが、Package Second \ src.Canを持っていない場合にのみ動作します。自分のコードが書かれている場所に関係なく、すべてのパッケージのクラス名を取得する必要がありますか?

私は自分のプログラムのスクリーンショット(両方のシナリオで)と、左側のフォルダパスとコンソール出力をペーストしました。他に必要なものがあれば教えてください。 Same Package

Different Package

+3

私達にあなたのコードを、あなたが取得している正確なエラーメッセージを表示してください。 – Marvin

+0

はいJava Reflectionはパッケージ全体で機能します。 –

+0

私は私のプログラムのスクリーンショットを貼り付けることで上記の私の質問を編集しました。親切に彼らを見て... @マーヴィン、@マテイKormuthこれは私のmutlipleの編集のために親切に私を許してこのフォーラムで私の最初の質問です:) –

答えて

0

あなたが実際に異なるパッケージを持っていません。 と同じパッケージtestが異なる2つのプロジェクトにあります。デフォルトでは、異なるプロジェクトのクラスは互いに見ることができないため、リフレクションは失敗します。

あなたは最初のプロジェクトのbuild pathに2つ目のプロジェクトを追加する必要があります。 Adding project to Java Build Path

+0

@マーヴィン...同じ問題は、パッケージ名が異なっていても(テストではなくても)発生します。これは単なる例なので、2つのプロジェクト(Firs、Second)を与えました..しかし、最終的には、私は各プロジェクトのパスを構築することができないため(実行時に多くのことが起こる可能性があるため)、私はJavaの.Henceのコーディング規則をチェックするアプリケーションを開発しようとしていますこれはその中の要件の1つです。 –

+0

@PrasunaVaddi Eclipseの[ResourcesPlugin](http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse)を使用して、すべてのプロジェクトを取得できます。 %2Fcore%2Fresources%2FResourcesPlugin.html)しかし、あなたのプロジェクトはプラグイン自体でなければならず、明らかにEclipse内でのみ動作すると思います。しかし、これは別の話題ですが、具体的に新しい質問をすることをお勧めします。 – Marvin

+0

パッケージが等しいかどうかは関係ありません。反射は気にしません。異なるプロジェクト(より具体的には、異なるクラスパス)が動作しなくなります。 – Marvin

関連する問題