我对maven完全不熟悉。
我正在尝试对robocode中的测试进行覆盖率分析。 为此,我使用clover(试用许可证),因为emma似乎无法很好地处理多模块项目。
不幸的是,当它到达robocode.test.robots模块时,我收到错误:
[ERROR] BUILD ERROR
[INFO] Unknown archiver type
Embedded error: No such archiver: 'api/target/classes'.
我试过谷歌搜索问题,但我没有找到使用与我所拥有的pom文件中相同标签的示例。
这是pom文件(我只添加了clover插件部分):
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>robocode</artifactId>
<groupId>net.sf.robocode</groupId>
<version>${robocode.version}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>net.sf.robocode</groupId>
<artifactId>robocode.tests.robots</artifactId>
<version>${robocode.version}</version>
<name>Robocode tested robots</name>
<dependencies>
<dependency>
<groupId>net.sf.robocode</groupId>
<artifactId>robocode.api</artifactId>
<version>${robocode.version}</version>
</dependency>
<dependency>
<groupId>net.sf.robocode</groupId>
<artifactId>robocode.samples</artifactId>
<version>${robocode.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>test</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includes>sample*/**</includes>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
据我所知,问题在于unpack-dependencies部分。
答案 0 :(得分:0)
在我看来你遇到了以下错误:http://jira.codehaus.org/browse/MDEP-194。 一个解决方案似乎是升级dependency-unpack插件并指定mvn install(而不是mvn test)
另见: Getting "unknown archiver type" exception when building Maven project with Eclipse
答案 1 :(得分:0)
仔细查看堆栈跟踪,您将看到哪一行(依赖项)导致构建失败。
Unpacking C:\Users\Jim\.m2\repository\org\jboss\logging\jboss-logging\3.1.0.GA\jboss-logging-3.1.0.GA.jar to C:\workspace\WorldChecker\progetti\Project1\target\classes with includes "" and excludes ""
Unpacking C:\Users\Jim\.m2\repository\commons-io\commons-io\1.3.2\commons-io-1.3.2.jar to C:\workspace\WorldChecker\progetti\Project1\target\classes with includes "" and excludes ""
Unpacking C:\Users\Jim\.m2\repository\com\jimrosenstein\Project1Core\1.0-SNAPSHOT\Project1Core-1.0-SNAPSHOT.jar to C:\workspace\WorldChecker\progetti\Project1\target\classes with includes "" and excludes ""
Unpacking C:\Users\Jim\.m2\repository\com\jimrosenstein\com.worldchecker.Project1.application\1.0-SNAPSHOT\com.worldchecker.Project1.application-1.0-SNAPSHOT.jar to C:\workspace\WorldChecker\progetti\Project1\target\classes with includes "" and excludes ""
Unpacking C:\Users\Jim\.m2\repository\org\bouncycastle\bctsp-jdk16\1.46\bctsp-jdk16-1.46.pom.sig to C:\workspace\WorldChecker\progetti\Project1\target\classes with includes "" and excludes ""
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 01:05 min
Finished at: 2018-06-06T12:43:15+02:00
Final Memory: 30M/306M
------------------------------------------------------------------------
Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.6:unpack-dependencies (unpack-dependencies) on project Project1: Unknown archiver type: No such archiver: 'sig'
如您所见,最后一行是构建失败的地方。因此,在这种情况下,一些有关bouncycastle依赖的问题。 为了解决这个问题,我将其从模块中排除,我被告知要使用:
<dependency>
<groupId>com.worldchecker</groupId>
<artifactId>mod.basic</artifactId>
<version>4.0.0-RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
然后构建成功。