在Maven依赖项中添加外部JAR

时间:2013-08-05 10:11:18

标签: maven

我正在尝试在eclipse IDE中的基于maven的项目tigase-muc中添加外部JAR文件tigase-server。 我试过以下方法

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
[INFO] Scanning for projects...
[INFO] 
[INFO] Building Tigase XMPP Server 5.1.0 5.2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.3:install-file (default-cli) @ tigase-server ---
[INFO] Installing /home/haider/Downloads/tigase-muc-2.2.0.jar to /
home/haider/.m2/repository/tigase/tigase-muc/2.2.0/tigase-muc-2.2.0.jar
[INFO] --------------
[INFO] BUILD SUCCESS
[INFO] -------------
[INFO] Total time: 0.791s
[INFO] Finished at: Mon Aug 05 18:06:48 PKT 2013
[INFO] Finished at: Mon Aug 05 18:06:48 PKT 2013
[INFO] ----------------------

从BUILD SUCCESS消息上面我假设正确添加了JAR文件,但是当我在POM文件中添加以下依赖项时

        <dependency>
        <groupId>tigase</groupId>
        <artifactId>tigase-xmltools</artifactId>
        <version>3.3.6</version>
        <scope>compile</scope>
    </dependency>

它给我以下错误缺少神器tigase:tigase-muc 。此消息清楚地表明它没有获得我在依赖中引用的JAR文件

您的贡献将受到高度赞赏谢谢

4 个答案:

答案 0 :(得分:2)

看起来它像这样安装Jar:[INFO]安装/home/haider/Downloads/tigase-muc-2.2.0.jar到/ 家/海德尔/ .m2目录/库/ tigase / tigase-MUC / 2.2.0 / tigase-MUC-2.2.0.jar

当maven工作时,它的组ID被解析为'tigase'',artifactId是'tigase-muc'',版本是''2.2.0'' 所以这是对的。

现在,我看了一下tigase:tigase-xmltools:3.3.6可用here

它根本没有定义任何依赖。

所以即使你没有指定这种依赖,看起来也会发生这种情况:)

我建议您运行mvn dependency:tree以查看此依赖关系来自哪里

希望这有帮助

答案 1 :(得分:1)

更完整的错误消息有助于缩小出错的范围。您安装的工件应该可以通过以下依赖项解析:

<dependency>
    <groupId>tigase</groupId>
    <artifactId>tigase-muc</artifactId>
    <version>2.2.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

你引用的是tigase-xmltools,我假设它依赖于tigase-muc。

我的猜测是tigase-xmltools可能依赖于tigase-muc的实际pom,尽管你有jar,但你还没有。查看完整的错误消息和tigase-xmltools的pom。

使用-D generatePom = true安装文件可能会有所帮助。

答案 2 :(得分:0)

好吧,如果您在maven依赖项中添加了jar,那么它应该自动添加到Maven依赖项中。

构建项目时是否出现任何特定错误?如果是,那么请你分享错误跟踪。

另请查看Maven Dependency Scope

此外,验证您的本地maven存储库 - M2_HOME\tigase\tigase-xmltools\3.3.6\并检查jar是否正确安装在此处。

答案 3 :(得分:0)

您可以在本地存储库中安装外部jar。

这是一个博客 - http://findnerd.com/list/view/External-Dependencies-in-Maven-Project/3501/

希望这会对你有所帮助。