Java 如何查找缺少哪些maven依赖项

Java 如何查找缺少哪些maven依赖项,java,maven,Java,Maven,我有一个web项目和一个pom.xml文件。它有足够的依赖项来编译和包,但不足以启动项目。在我的IDE中,它显示一切正常,但当启动应用程序时,它有错误。当我从另一个应用程序添加外部pom.xml时,我的应用程序启动 那么,我有没有办法找出缺少哪些依赖项,以及将来如何确定使用这个或那个需要哪些依赖项?没有maven命令来完成这一点。您需要检查哪些类导致了NoClassDefFoundError,找出依赖项(Google)-它们是在哪些JAR中提供的,并将它们添加到pom.xml中的运行时范围中 特

我有一个web项目和一个
pom.xml
文件。它有足够的依赖项来编译和包,但不足以启动项目。在我的IDE中,它显示一切正常,但当启动应用程序时,它有错误。当我从另一个应用程序添加外部pom.xml时,我的应用程序启动


那么,我有没有办法找出缺少哪些依赖项,以及将来如何确定使用这个或那个需要哪些依赖项?

没有maven命令来完成这一点。您需要检查哪些类导致了
NoClassDefFoundError
,找出依赖项(Google)-它们是在哪些JAR中提供的,并将它们添加到pom.xml中的
运行时
范围中


特别是在web项目中,您经常根据servlet或JavaEE规范JAR进行编译(它们只包含接口),但您需要在运行时提供实际的实现JAR。这些JAR通常并假定在您运行的容器(如Tomcat或JBoss)中可用,在这种情况下,它们将在pom.xml中标记为
提供的
范围。

您需要检查输出日志中的
NoClassDefFoundError
,并相应地添加依赖项

搜索缺少的依赖项的最佳资源是

要获取构建的详细调试日志,请在命令行中使用
-X


您可以通过以下命令检查项目的依赖关系树-
mvn dependency:tree
。这将只列出您的
pom.xml
中列出的依赖项的相关信息,更多信息请参见您可以使用
mvn依赖项:analyze
来确定哪些依赖项是
使用和声明的
使用和未声明的
未使用和声明的

有关更多信息,请参阅:


希望这有帮助。

它有什么错误?您可以使用此网站()按类名对JAR进行本地化。然后,您可以在中找到maven依赖关系。您也可以使用search.maven.org或jarvana.com或mvnrepository.com。在运行时,您会发现您确实需要它们!