我不明白,我该如何将类定义与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
中。有没有办法识别包裹?
答案 0 :(得分:4)
如果工件在MavenCentral中,则可以在https://search.maven.org/上使用类名搜索,并在c:
前面加上(限定的)类名,然后获得所需的工件。
答案 1 :(得分:1)
正如Elliott Frisch在问题上所评论的那样,Maven使用的工件名称(<application
android:allowBackup="true"
.
.
.
>
和<groupId>
)是任意的。该名称不必与Maven下载并安装在项目中的库中类的名称直接相关。
您在<artifactID>
文件中编写的类中的import
语句可能与Maven工件命名完全不同。
有没有办法识别包裹?
访问您感兴趣的图书馆项目的网站。大多数此类项目都会宣传Maven .java
代码段。例如,来自this page项目的H2 Database Engine。
Maven找到 H2数据库引擎项目的库in a Maven repository,然后下载该库并将其安装在Java项目中。然后,在<dependency>
文件顶部添加一个import
语句,以标识要使用的类的Java包。
请注意各种命名方式,如何在Maven存储库中以.java
的{{1}}和<artifactId>
的{{1}}命名工件,而在Java内部{{1 }}是h2
。
<groupId>
要搜索Maven以按类名查找工件,请参阅Answer by JF Meier。