Maven依赖于其他maven项目

时间:2014-05-13 13:00:11

标签: java maven gwt dependencies pom.xml

我有两个Maven(GWT)项目,一个应该依赖另一个。我刚刚添加了依赖项:

<dependency>
    <groupId>myGroup</groupId>
    <artifactId>MyArtifact</artifactId>
    <version>1.0-SNAPSHOT</version>
    <scope>compile</scope>
</dependency>

正确引用了类,我可以在其他项目中使用它们。但是如果我想触发maven构建,它会抱怨:&#34;无法解决项目的依赖关系:无法找到工件myGroup:MyArtifact:jar:1.0-SNAPSHOT&#34;

该项目没有jar,因为它是一个GWT Web应用程序。它有一场战争&#34;文件。我对这个论点进行了测试,并尝试了像&#34; pom&#34;或&#34;战争&#34;。然后它没有显示错误,但是单元测试确实失败了,因为找不到其他项目的类。

2 个答案:

答案 0 :(得分:2)

您需要define in the other project which is a war packaging things like this

  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.4</version>
      <configuration>
        <attachClasses>true</attachClasses>
      </configuration>
    </plugin>
    ...
  </plugins>

这将使用分类器classes创建一个工件,可以在其他项目中引用(

<dependency>
  <groupId>myGroup</groupId>
  <artifactId>myArtifact</artifactId>
  <version>myVersion</myVersion>
  <classifier>classes</classifier>
</dependency>

答案 1 :(得分:0)

首先为 MyArtifact 项目调用maven install,该项目将创建一个jar并将其放在您当地的maven存储库中。

现在,您可以将maven build用于依赖项目。