首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无论我做什么,Maven程序集插件都抱怨没有文件。

无论我做什么,Maven程序集插件都抱怨没有文件。
EN

Stack Overflow用户
提问于 2013-11-04 16:36:53
回答 1查看 22.2K关注 0票数 7

我和从其他Maven模块中添加jar与依赖项工件。有类似的情况,但是建议的解决方案对我没有用。我试过同时使用moduleSetsdependencySets。所以我们开始:

简介:

我有一个多模块maven项目:

代码语言:javascript
复制
parent
|
+-myProject
|
+-myProjectTests

我希望myProjectTests在其输出目录中使用myProject生成的jar-with-dependencies,运行集成测试等(我使用的框架需要实际的jar来运行)

亲本pom.xml

代码语言:javascript
复制
<project>
  <groupId>myGroup</groupId>
  <artifactId>parent</artifactId>
  <packaging>pom</packaging>
  
  <modules>
    <module>myProject</module>
    <module>myProjectTests</module>
  </modules>
</project>

myProject pom.xml

代码语言:javascript
复制
<project>
  <groupId>myGroup</groupId>        
  <artifactId>myProject</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <build>
    <plugins>    
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <descriptorRefs>
              <descriptorRef>jar-with-dependencies</descriptorRef>
            </descriptorRefs>
          </configuration>
        </plugin>
      </plugins>
    </build>
  </plugins>
</project>

myProjectTests pom.xml

代码语言:javascript
复制
<project>

  <groupId>myGroup</groupId>
  <artifactId>myProjectTests</artifactId>
  <version>0.0.1-SNAPSHOT</version>    
  <packaging>pom</packaging>

  <dependencies>
    <dependency>
      <groupId>myGroup</groupId>
      <artifactId>myProject</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4</version>
        <executions>
          <execution>
            <id>prepareTests</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>prepare.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

prepare.xml

代码语言:javascript
复制
<assembly>      
  <id>prepareTests</id>
  <formats>
    <format>dir</format>
  </formats>

  <includeBaseDirectory>false</includeBaseDirectory>
  ?????
</assembly>

moduleSets:

如果我尝试为?指定moduleSets?在我的prepare.xml里是这样:

代码语言:javascript
复制
<moduleSets>
  <moduleSet>
    <useAllReactorProjects>true</useAllReactorProjects>
    <includes>
      <include>myGroup:myProject</include>
    </includes>
    <binaries>
      <attachmentClassifier>jar-with-dependencies</attachmentClassifier>
      <unpack>false</unpack>
    </binaries>
  </moduleSet>
</moduleSets>

我得到了这个输出:

警告在此工件包含筛选器中从未触发以下模式:O 'myGroup.myProject‘警告此工件包含筛选器中从未触发以下模式:O 'myGroup.myProject’警告注意:当前,如果发生版本冲突,模块依赖项的包含可能会产生不可预测的结果。错误未能在项目org.apache.maven.plugins:maven-assembly-plugin:2.4:single上执行目标myProjectTests (prepareTests):未能创建程序集:创建程序集存档错误:必须设置至少一个文件。->帮助1

我已经在maven文档和网际网络中搜索了解决方案,并尝试了各种标志的许多不同组合,所有这些都有相同的错误。

dependencySets:

如果我在?中指定了dependencySets?就像这样:

代码语言:javascript
复制
<dependencySets>
  <dependencySet>
    <includes>
      <include>myGroup:myProject:jar-with-dependencies:0.0.1-SNAPSHOT</include>
    </includes>
    <unpack>false</unpack>
  </dependencySet>
</dependencySets>

我明白了:

警告不能包括项目工件:myGroup:myProjectTest:pom:0.0.1-快照;它没有关联的文件或目录。警告在此工件包含筛选器中从未触发以下模式:O 'myGroup:myProject:jar-with-dependencies:0.0.1-SNAPSHOT‘错误未能在项目myProjectTests上执行目标org.apache.maven.plugins:maven-assembly-plugin:2.4:single (prepareTests):失败创建程序集:错误创建程序集存档prepareTests:您必须至少设置一个文件。->帮助1

再次,我尝试了许多不同的标志组合,并删除了jar-with-dependencies分类器,所有这些都没有效果。

在这两种情况下,调试日志中都没有任何有用的东西,我已经探索了调试日志所建议的一些途径。

我想要的很简单--让myProject生成的jar与依赖关系文件在包阶段被放到myProjectTests的输出目录中,理想情况下不使用直接的文件路径。我怎么才能让maven这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-05 14:03:14

事实证明,这是一个已知的maven错误--当子模块没有将聚合器项目作为其父程序时,组装插件不能正常工作-- 马塞姆勒-600。看来我必须使用直接的文件依赖项来代替。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19772444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档