Maven存储库如何工作

时间:2019-02-03 19:01:12

标签: java maven selenium

我不明白,我该如何将类定义与Maven存储库相匹配?
例如,我有一个依赖项:

<dependency>
  <groupId>org.seleniumhq.webdriver</groupId>
  <artifactId>webdriver-chrome</artifactId>
  <version>0.9.7376</version>
</dependency> 

我需要一个WebDriver类,所以我建议我应该 import org.seleniumhq.webdriver,但实际上它在org.openqa.selenium中。有没有办法识别包裹?

2 个答案:

答案 0 :(得分:4)

如果工件在MavenCentral中,则可以在https://search.maven.org/上使用类名搜索,并在c:前面加上(限定的)类名,然后获得所需的工件。

答案 1 :(得分:1)

Maven工件名称!= Java类名称

正如Elliott Frisch在问题上所评论的那样,Maven使用的工件名称(<application android:allowBackup="true" . . . > <groupId>)是任意的。该名称不必与Maven下载并安装在项目中的库中类的名称直接相关。

您在<artifactID>文件中编写的类中的import语句可能与Maven工件命名完全不同。

  

有没有办法识别包裹?

访问您感兴趣的图书馆项目的网站。大多数此类项目都会宣传Maven .java代码段。例如,来自this page项目的H2 Database Engine

Screenshot of a web browser window visiting the H2 Database Engine “Cheat Sheet” page listing a Maven dependency

Maven找到 H2数据库引擎项目的库in a Maven repository,然后下载该库并将其安装在Java项目中。然后,在<dependency>文件顶部添加一个import语句,以标识要使用的类的Java包。

请注意各种命名方式,如何在Maven存储库中以.java的{​​{1}}和<artifactId>的{​​{1}}命名工件,而在Java内部{{1 }}是h2

<groupId>

要搜索Maven以按类名查找工件,请参阅Answer by JF Meier