当存储库中存在.jar时,为什么Maven正在寻找.pom文件?

时间:2011-10-17 14:43:11

标签: maven pom.xml

我的pom.xml

中有以下依赖项
<dependency>
    <groupId>aGroup</groupId>
    <artifactId>anArtifact</artifactId>
    <version>aVersion</version>
</dependency>

我在anArtifact-aVersion.jar目录中也有~/.m2/repository/aGroup/anArtifact/aVersion个文件。

当我开始构建项目时,maven会查找.pom文件,而不是使用.jar文件,并尝试下载以下内容

http://repo1.maven.org/maven2/aGroup/anArtifact/aVersion/anArtifact-aVersion.pom

如何配置maven以使用现有的.jar文件?

5 个答案:

答案 0 :(得分:7)

每个jar都需要有一个描述它的pom文件,你可以添加一些简单的东西:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>aGroup</groupId>
    <artifactId>aArtifactId</artifactId>
    <version>aVersion</version>
    <packaging>jar</packaging>
    <name>a Name</name>
</project>

答案 1 :(得分:4)

使用“-o”开关运行构建,以在离线模式下使用Maven。在脱机模式下,Maven不会检查远程存储库中快照依赖项的更新。

答案 2 :(得分:4)

将工件安装到本地存储库的最佳方法不是由Maven构建的,而是使用

mvn install:install-file ...

查看install:install目标。

答案 3 :(得分:3)

正在寻找pom来解决传递依赖性等问题。

答案 4 :(得分:3)

安装到nexus的POM将描述jar。用于提取与相应jar相关联的依赖项。当我们将jar作为依赖项添加到我们的项目中时,所包含的jar所需的所有jar都将通过相应的pom来识别。