5

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

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>

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

您的贡献将不胜感激谢谢

4

5 回答 5

2

看起来它像这样安装 Jar: [INFO] 将 /home/haider/Downloads/tigase-muc-2.2.0.jar 安装到 /home/haider/.m2/repository/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 可在此处获得

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

因此,即使您不指定此依赖项,看起来也会发生这种情况:)

我建议你跑去mvn dependency:tree看看这个依赖是从哪里来的

希望这可以帮助

于 2013-08-05T13:27:36.943 回答
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 安装文件可能会有所帮助。

于 2013-08-05T16:55:04.003 回答
0

好吧,如果你已经添加了jarMaven 依赖项,那么它应该会自动添加到 Maven 依赖项中。

您在构建项目时是否遇到任何特定错误?如果是,那么您能否分享错误跟踪。

也看看Maven 依赖范围

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

于 2013-08-05T12:31:05.870 回答
0

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

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

希望这会对你有所帮助。

于 2015-07-09T09:51:49.823 回答
0

我的解决方案是使用 embed lib repo:

在此处输入图像描述

并添加本地库:

<dependencies>
<dependency>
    <groupId>ok</groupId>
    <artifactId>comet4j-tomcat7</artifactId>
    <version>1.0.0</version>
</dependency>
</dependencies>


<repositories>
    <repository>
        <id>lib</id>
        <name>lib</name>
        <url>file://${basedir}/lib</url>
    </repository>
</repositories>
于 2016-12-04T05:57:54.193 回答