我使用 Nexus 作为存储库管理器从事 Maven 项目。简而言之有3个部分:“Business”(打包在.jar中),“Web”(打包在.war中)和“ear”(将整个东西打包在.ear中)
我工作得很好,但最近我一直在尝试向存储库添加一个“自定义”jar(用于 md5 密码转换),但效果不佳,我做了以下操作:
- 从网站 ( www.twmacinta.com ) 获取 java 文件以使用 md5 转换字符串。
- 在我的项目中将它用作 java 文件,它工作得非常好,然后我决定用它制作一个 jar。
- 使用 javac 编译源代码。
- 使用“jar”命令创建存档(“com/twmacinta/util/MD5-2.7.1.jar”)。
- 连接到 Nexus 并上传 jar。
进入我的业务部分的 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 中,它看起来就像我已经在使用的任何其他库(据我所知),所以我不明白......
请帮帮我=)
尼古拉斯