我有一个来自Maven私人仓库的依赖项的java项目。在初始设置时,maven正确构建了项目,但现在私有仓库中的项目必须手动/本地构建(在用于工作的项目中mvn clean install -U
)。当我尝试运行项目时,一切都正确编译,但是在运行时我得到java.lang.NoClassDefFoundError
。这些都来自Maven私有仓库,需要在本地重新编译才能运行相关项目。
在同一时间发生了两件事:1)我必须将我的密码更新为Maven Private repo,但是,我更新了我的计算机本地存储的凭据,当我尝试mvn clean install -U
时,我可以看到正确下载依赖项。 2)我是Java / Intellij的新手,在尝试删除类文件时,我不小心删除了整个模块。不知道这是否打破了某些我可能根本不知道的链接?
我清除了缓存,删除了整个.m2目录内容并从头开始删除整个项目目录并重新启动但仍然遇到同样的问题。
答案 0 :(得分:0)
当您有重复的库时可能会发生这种情况。请检查maven依赖树。你应该有所了解。您可以使用标签删除重复的罐子。
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<scope>compile</scope>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>