Nexusをリポジトリマネージャーとして使用するMavenプロジェクトに取り組んでいます。要するに、「Business」(.jar にパッケージ化)、「Web」(.war にパッケージ化)、「ear」(全体を .ear にパッケージ化) の 3 つの部分があります。
私は完全に正常に動作していましたが、最近、「カスタム」jar (md5 パスワード変換用) をリポジトリに追加しようとしましたが、うまく機能しませんでした。次のことを行いました。
- Web サイト ( www.twmacinta.com )から Java ファイルを入手して、md5 で文字列を変換しました。
- それを私のプロジェクトでJavaファイルとして使用しましたが、完全にうまく機能したので、それからjarファイルを作成することにしました。
- ソースを javac でコンパイルしました。
- 「jar」コマンドを使用してアーカイブを作成しました (「com/twmacinta/util/MD5-2.7.1.jar」)。
- Nexus に接続し、jar をアップロードします。
Businness 部分の pom.xml ファイルに移動し、「依存関係」タブと「追加...」タブを使用して依存関係を追加し (jar が見つかりましたが、問題ありません)、これを pom.xml ファイルに追加します。
<dependency> <groupId>com.twmacinta.util</groupId> <artifactId>MD5</artifactId> <version>2.7.1</version> </dependency>
次のように、ビジネスクラスにインポートを追加しました(インポートは自動的に検出されましたが、問題ありません)。
import com.twmacinta.util.MD5;
この時点でエラーはないので、クリーン/インストール/再デプロイに進みます。すべて問題ありません。
しかし、アプリケーションにログインしようとすると、次の例外が発生しました。
java.lang.ClassNotFoundException: com.twmacinta.util.MD5
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
[...]
MD5-2.7.1.jar は、Business と ear の MavenDependencies に表示されます。これは、私が既に使用している他のライブラリのように見えます (私が知る限り)。
助けてください=)
ニコラス