Maven找不到本地依赖

时间:2012-04-21 23:26:00

标签: java maven build maven-scm warp

我正在尝试按照此网站上的说明操作:

http://trac.erichseifert.de/warp/wiki/DeveloperGuide

我有所有的源代码 - 并且已经在mpqparser和vectorgraphics2d上完成了mvn安装 - 然后我进入gral文件夹 - 并尝试运行它,我遇到了这个错误:

> $ mvn install
[INFO] Scanning for projects...
[WARNING]
[WARNING] Some problems were encountered while building the effective model for
de.erichseifert.gral:GRAL:jar:0.8
[WARNING] 'reporting.plugins.plugin.version' for org.apache.maven.plugins:maven-
changelog-plugin is missing. @ line 143, column 17
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten t
he stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support buildin
g such malformed projects.
[WARNING]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building GRAL Graphing Library 0.8
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for de.erichseifert.vectorgraphics2d:VectorGraphics2D:jar:0.6
is missing, no dependency information available
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.329s
[INFO] Finished at: Sun Apr 22 00:18:13 BST 2012
[INFO] Final Memory: 3M/122M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project GRAL: Could not resolve dependencies f
or project de.erichseifert.gral:GRAL:jar:0.8: Failure to find de.erichseifert.ve
ctorgraphics2d:VectorGraphics2D:jar:0.6 in http://repo.maven.apache.org/maven2 w
as cached in the local repository, resolution will not be reattempted until the
update interval of central has elapsed or updates are forced -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e swit
ch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please rea
d the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyReso
lutionException

我认为它正在尝试加载刚刚在vectorgraphics2D文件夹中构建的jar - 但我不确定wiki指令是否缺少步骤,或者是否需要设置某些内容。

gral的pom.xml具有以下作为其依赖语句:

<dependencies>
        <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.8.1</version>
                <scope>test</scope>
                <optional>true</optional>
        </dependency>
        <dependency>
                <groupId>de.erichseifert.vectorgraphics2d</groupId>
                <artifactId>VectorGraphics2D</artifactId>
                <version>0.6</version>
        <optional>true</optional>
        </dependency>
  </dependencies>

请有人帮我解决这个问题 - 这是我对maven的第一次体验!

2 个答案:

答案 0 :(得分:2)

正如siegl在评论中所说,听起来你没有安装VectorGraphics2D的0.6版 - 如果你有,那个jar应该出现在目录~/.m2/repository/de/erichseifert/vectorgraphics2d/VectorGraphics2D/0.6中。您也有一个目录~/.m2/repository/de/erichseifert/vectorgraphics2d/VectorGraphics2D/0.9-SNAPSHOT的事实听起来很可疑,而这正是您构建和安装的目录。

maven的repo很容易理解 - 这些目录只是从组和工件ID以及版本构成的。

以上是有道理的 - 你给出的指示告诉你构建VectorGraphics2D的主干,这可能不再是0.6。

所以你有两个选择 - 在gral pom中将依赖项更改为0.9-SNAPSHOT并尝试链接到那个,或者检查并构建0.6版本的VectorGraphics2D。我建议做后者,因为它更有可能按预期工作(0.9中的API可能已经改变)。

来自http://trac.erichseifert.de/vectorgraphics2d/browser#tags

看起来像你想要的那样:

rm vectorgraphics2d
svn co svn://erichseifert.de/vectorgraphics2d/tags/0.6 vectorgraphics2d

然后像以前一样继续。

答案 1 :(得分:1)

重点是GRAL来自标签,这意味着它是一个稳定的版本。这意味着您需要将mpqparser和vectorgraphics2d的依赖关系更改为其相应的版本(...- SNAPSHOT)并再次尝试...但在您需要先删除.m2 / repository / erichseifert / ...文件夹之前...