maven 如何找出需要导入什么库才能使用Java中的类?

8yparm6h  于 12个月前  发布在  Maven
关注(0)|答案(2)|浏览(200)

在Java中经常遇到的一个问题是,假设你有一个问题。你在SO上搜索答案,然后遇到了一些答案。答案通常提供代码,但它们没有提供为了能够使用答案中的代码而需要导入哪些工件的细节。例如,我正在搜索如何加载json文件并将结果解析到Java中的类中,并遇到了ObjectMapper。我可以查看它的Javadoc。Javadoc提供了类的命名空间,但同样没有告诉为了使用这个类,需要导入什么工件。人们如何处理这个问题?似乎没有结构化的方法。它只是试错和随机搜索来找到答案。如果我在Maven存储库中输入类名或命名空间,通常不会得到相关的结果。例如,在ObjectMapper的情况下,当我在Maven Central中输入com.fasterxml.jackson.databind时,我得到了this,我认为这不是正确的工件。我问这个问题w.r.t. Maven。

m528fe3b

m528fe3b1#

你说得对,没有标准化的方法来找出你需要使用哪个工件来使用某个库。大多数库至少已经确定通过Maven分发,但是没有标准化的过程来将类Map到工件。
有些项目只需要添加一个依赖项就可以了。有些项目是模块化的,所以你需要多个依赖项,这取决于你需要哪些特性。有些库被分成API和实现工件。有些库在某些平台上需要不同的工件。你通常不能仅仅通过查看Maven工件来了解库应该如何设置。
你最好找到项目的(非javadoc的)文档来说明如何安装这个库,并希望那里有关于安装的解释。通常在项目网站上或仓库中的readme文件。
然而,你可以让其他一些人来为你寻找和阅读安装说明的肮脏工作:ChatGPT或类似的工具。你可能应该验证依赖关系不是假的,可能需要纠正版本,但通常这些工具足够好,可以为你提供正确的信息,或者至少是进一步研究的起点。

uelo1irk

uelo1irk2#

IntelliJ有一个查找工件的功能。当它看到一个未知符号时,其中一个解决方案是“搜索依赖关系...”
x1c 0d1x的数据
在实践中,我发现它工作得不是很好,但也许它会变得更好。
包和Maven的groupId/artifactId之间没有关系。所以除此之外,你只需要在google或GitHub上做最好的侦探工作。

相关问题