我有一个正在尝试使用Maven进行构建的Eclipse项目,其JAR文件位于我的专用Artifactory服务器上, 其他一些Maven存储库。
在我的POM文件中(添加Artifactory存储库之前),我指定了存储库:
<repositories>
<repository>
<id>third-party</id>
<name>Atlassian 3rdParty</name>
<url>https://repo.spring.io/plugins-release/</url>
</repository>
<repository>
<id>ICM</id>
<name>ICM Repository</name>
<url>http://maven.icm.edu.pl/artifactory/repo/</url>
</repository>
</repositories>
通过存储库,我可以访问构建所需的多个库,包括(但不限于):
...
<dependency>
<groupId>xerces</groupId>
<artifactId>xerces</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
...
我有几个要从Artifactory服务器访问的JAR文件。这些文件在我创建的存储库中 Factor_Snapshot,其中有两个:factorbase-1.0.0.jar和lowerbase-1.0.0.jar。
为了通过Artifactory获得所有内容(正确地将其用作remore存储库的代理,我将这些存储库添加到Artifactory。然后,我使用“设置我”链接来尝试为POM文件生成正确的条目
我注意到的一件事是,我似乎无法使生成的条目包含Factor_Snapshot存储库。生成的条目似乎只包括以前存在的libs-release和libs-snapshot存储库。当我单击Generate Maven Settings并选择一个快照时,只允许选择libs-snapshot,gradle-dev,libs-release等。无法选择我的快照存储库Factor_Snapshot。生成的设置如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<servers>
<server>
<username>${security.getCurrentUsername()}</username>
<password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
<id>central</id>
</server>
<server>
<username>${security.getCurrentUsername()}</username>
<password>${security.getEscapedEncryptedPassword()!"*** Insert encrypted password here ***"}</password>
<id>snapshots</id>
</server>
</servers>
<profiles>
<profile>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://192,168.1.230:8081/artifactory/libs-release</url>
</repository>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://192,168.1.230:8081/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>libs-release</name>
<url>http://192,168.1.230:8081/artifactory/libs-release</url>
</pluginRepository>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://192,168.1.230:8081/artifactory/libs-snapshot</url>
</pluginRepository>
</pluginRepositories>
<id>artifactory</id>
</profile>
</profiles>
<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>
当然,由于似乎没有用于在Eclipse中放入活动配置文件的settings.xml文件,所以我怀疑是否可以使用此文件 无论如何。另外:不清楚如何获取文件中引用的加密密码。
我根据在Artifactory服务器上如何组织它们来添加了以下依赖关系:
...
<dependency>
<groupId>com.factor3</groupId>
<artifactId>lowerbase</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.factor3</groupId>
<artifactId>factorbase</artifactId>
<version>1.0.0</version>
</dependency>
...
我相信我正确设置了它们。保存POM文件后,我确实收到了错误消息,说缺少构件Lowerbase:jar和factorbase:jar。这是预料之中的,因为我还没有放入存储库声明。
我最终还是在猜测回购声明,因此我根据Artifactory文档和回购的设置方式在POM文件中创建了以下条目:
<repositories>
<repository>
<id>snapshots</id>
<name>soliandisk</name>
<url>http://192,168.1.230:8081/artifactory/Factor_Snapshot</url>
</repository>
<repository>
<id>third-party</id>
<name>Atlassian 3rdParty</name>
<url>https://repo.spring.io/plugins-release/</url>
</repository>
<repository>
<id>ICM</id>
<name>ICM Repository</name>
<url>http://maven.icm.edu.pl/artifactory/repo/</url>
</repository>
</repositories>
但是,当我添加Factor_Snapshot存储库时,现在出现故障,提示所有 JAR文件工件都丢失了-甚至是factorbase和Lowerbase工件!
我知道我在配置中丢失了一些东西,但是我不知道什么。
如何配置Artifactory和我的POM文件,以便获得所有必要的JAR?