无法执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.10:test

147
我已经在互联网上搜寻了将近五天,寻找解决这个问题的方法,但是由于我对Maven和PlayN都很陌生,所以似乎无法自行解决。主要问题出现在构建核心部分时。似乎无法下载“artifact filter”,并且无法运行Surefire的测试。但是,我只是根据不太理解的猜测,虽然我一直在拼命研究这些东西。任何来自更有经验的人的帮助都将非常非常感激。我正在为此烦恼不已。
[INFO] Building Synthesis Core 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ synthesis-core ---
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ synthesis-core ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 2 resources
[INFO] skip non existing resourceDirectory C:\Users\Josiah\synthesis\core\src\main\resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:compile (default-compile) @ synthesis-core ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ synthesis-core ---
[debug] execute contextualize
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory C:\Users\Josiah\synthesis\core\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3:testCompile (default-testCompile) @ synthesis-core ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ synthesis-core ---
Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/shared/maven-common-artifact-filters/1.3/maven-common-artifact-filters-1.3.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Synthesis Metaproject ............................. SUCCESS [1.059s]
[INFO] Synthesis Core .................................... FAILURE [3.538s]
[INFO] Synthesis Java .................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.997s
[INFO] Finished at: Wed Oct 31 23:57:38 EDT 2012
[INFO] Final Memory: 6M/109M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project synthesis-core: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test failed: Plugin org.apache.maven.plugins:maven-surefire-plugin:2.10 or one of its dependencies could not be resolved: Failed to collect dependencies for org.apache.maven.plugins:maven-surefire-plugin:jar:2.10 (): Failed to read artifact descriptor for org.apache.maven.shared:maven-common-artifact-filters:jar:1.3: Could not transfer artifact org.apache.maven.shared:maven-common-artifact-filters:pom:1.3 from/to central (http://repo.maven.apache.org/maven2): Remotely Closed [id: 0x0847a8f3, /192.168.1.54:65153 :> repo.maven.apache.org/93.184.215.223:80] -> [Help 1]

我随后让它打印整个调试日志,它详细说明了Surefire部分,并显示了所有引发的异常:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.
10:test (default-test) on project synthesis-core: Execution default-test of goal
 org.apache.maven.plugins:maven-surefire-plugin:2.10:test failed: Plugin org.apa
che.maven.plugins:maven-surefire-plugin:2.10 or one of its dependencies could no
t be resolved: Failed to collect dependencies for org.apache.maven.plugins:maven
-surefire-plugin:jar:2.10 (): Failed to read artifact descriptor for org.apache.
maven.shared:maven-common-artifact-filters:jar:1.3: Could not transfer artifact
org.apache.maven.shared:maven-common-artifact-filters:pom:1.3 from/to central (h
ttp://repo.maven.apache.org/maven2): Connection reset -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o
rg.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on projec
t synthesis-core: Execution default-test of goal org.apache.maven.plugins:maven-
surefire-plugin:2.10:test failed: Plugin org.apache.maven.plugins:maven-surefire
-plugin:2.10 or one of its dependencies could not be resolved: Failed to collect
 dependencies for org.apache.maven.plugins:maven-surefire-plugin:jar:2.10 ()
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:225)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje
ct(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBu
ild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl
eStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun
cher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav
a:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La
uncher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:
352)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-t
est of goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test failed: Plu
gin org.apache.maven.plugins:maven-surefire-plugin:2.10 or one of its dependenci
es could not be resolved: Failed to collect dependencies for org.apache.maven.pl
ugins:maven-surefire-plugin:jar:2.10 ()
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default
BuildPluginManager.java:82)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:209)
        ... 19 more
Caused by: org.apache.maven.plugin.PluginResolutionException: Plugin org.apache.
maven.plugins:maven-surefire-plugin:2.10 or one of its dependencies could not be
 resolved: Failed to collect dependencies for org.apache.maven.plugins:maven-sur
efire-plugin:jar:2.10 ()
        at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.re
solve(DefaultPluginDependenciesResolver.java:211)
        at org.apache.maven.plugin.internal.DefaultMavenPluginManager.createPlug
inRealm(DefaultMavenPluginManager.java:353)
        at org.apache.maven.plugin.internal.DefaultMavenPluginManager.setupPlugi
nRealm(DefaultMavenPluginManager.java:321)
        at org.apache.maven.plugin.DefaultBuildPluginManager.getPluginRealm(Defa
ultBuildPluginManager.java:175)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default
BuildPluginManager.java:78)
        ... 20 more
Caused by: org.sonatype.aether.collection.DependencyCollectionException: Failed
to collect dependencies for org.apache.maven.plugins:maven-surefire-plugin:jar:2
.10 ()
        at org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectD
ependencies(DefaultDependencyCollector.java:258)
        at org.sonatype.aether.impl.internal.DefaultRepositorySystem.collectDepe
ndencies(DefaultRepositorySystem.java:308)
        at org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver.re
solve(DefaultPluginDependenciesResolver.java:199)
        ... 24 more
Caused by: org.sonatype.aether.resolution.ArtifactDescriptorException: Failed to
 read artifact descriptor for org.apache.maven.shared:maven-common-artifact-filt
ers:jar:1.3
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.
loadPom(DefaultArtifactDescriptorReader.java:296)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.
readArtifactDescriptor(DefaultArtifactDescriptorReader.java:186)
        at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(
DefaultDependencyCollector.java:412)
        at org.sonatype.aether.impl.internal.DefaultDependencyCollector.process(
DefaultDependencyCollector.java:544)
        at org.sonatype.aether.impl.internal.DefaultDependencyCollector.collectD
ependencies(DefaultDependencyCollector.java:240)
        ... 26 more
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Could not
 transfer artifact org.apache.maven.shared:maven-common-artifact-filters:pom:1.3
 from/to central (http://repo.maven.apache.org/maven2): Connection reset
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolve(Def
aultArtifactResolver.java:538)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArti
facts(DefaultArtifactResolver.java:216)
        at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArti
fact(DefaultArtifactResolver.java:193)
        at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.
loadPom(DefaultArtifactDescriptorReader.java:281)
        ... 30 more
Caused by: org.sonatype.aether.transfer.ArtifactTransferException: Could not tra
nsfer artifact org.apache.maven.shared:maven-common-artifact-filters:pom:1.3 fro
m/to central (http://repo.maven.apache.org/maven2): Connection reset
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(W
agonRepositoryConnector.java:951)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(W
agonRepositoryConnector.java:941)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.
run(WagonRepositoryConnector.java:669)
        at org.sonatype.aether.util.concurrency.RunnableErrorForwarder$1.run(Run
nableErrorForwarder.java:60)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
utor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:908)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.maven.wagon.TransferFailedException: Connection reset
        at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.fillInput
Data(AbstractHttpClientWagon.java:799)
        at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:11
6)
        at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88)
        at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61)
        at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$GetTask.
run(WagonRepositoryConnector.java:601)
        ... 4 more
Caused by: java.net.SocketException: Connection reset
        at java.net.SocketInputStream.read(SocketInputStream.java:168)
        at org.apache.maven.wagon.providers.http.httpclient.impl.io.AbstractSess
ionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:149)
        at org.apache.maven.wagon.providers.http.httpclient.impl.io.SocketInputB
uffer.fillBuffer(SocketInputBuffer.java:110)
        at org.apache.maven.wagon.providers.http.httpclient.impl.io.AbstractSess
ionInputBuffer.readLine(AbstractSessionInputBuffer.java:264)
        at org.apache.maven.wagon.providers.http.httpclient.impl.conn.DefaultRes
ponseParser.parseHead(DefaultResponseParser.java:98)
        at org.apache.maven.wagon.providers.http.httpclient.impl.io.AbstractMess
ageParser.parse(AbstractMessageParser.java:252)
        at org.apache.maven.wagon.providers.http.httpclient.impl.AbstractHttpCli
entConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
        at org.apache.maven.wagon.providers.http.httpclient.impl.conn.DefaultCli
entConnection.receiveResponseHeader(DefaultClientConnection.java:247)
        at org.apache.maven.wagon.providers.http.httpclient.impl.conn.AbstractCl
ientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
        at org.apache.maven.wagon.providers.http.httpclient.protocol.HttpRequest
Executor.doReceiveResponse(HttpRequestExecutor.java:298)
        at org.apache.maven.wagon.providers.http.httpclient.protocol.HttpRequest
Executor.execute(HttpRequestExecutor.java:125)
        at org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultR
equestDirector.tryExecute(DefaultRequestDirector.java:645)
        at org.apache.maven.wagon.providers.http.httpclient.impl.client.DefaultR
equestDirector.execute(DefaultRequestDirector.java:464)
        at org.apache.maven.wagon.providers.http.httpclient.impl.client.Abstract
HttpClient.execute(AbstractHttpClient.java:820)
        at org.apache.maven.wagon.providers.http.httpclient.impl.client.Abstract
HttpClient.execute(AbstractHttpClient.java:754)
        at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.execute(A
bstractHttpClientWagon.java:674)
        at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.fillInput
Data(AbstractHttpClientWagon.java:793)
        ... 8 more

编辑:添加我的pom.xml进行分析。

<?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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.googlecode.playn</groupId>
    <artifactId>playn-project</artifactId>
    <version>1.3.1</version>
  </parent>

  <groupId>com.hijackedlongboat</groupId>
  <artifactId>synthesis</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>
  <name>Synthesis Metaproject</name>

  <properties>
    <playn.version>1.3.1</playn.version>
  </properties>

  <profiles>
    <profile>
      <id>java</id>
      <activation><activeByDefault>true</activeByDefault></activation>
      <modules><module>java</module></modules>
    </profile>
    <profile>
      <id>android</id>
      <modules><module>android</module></modules>
    </profile>
    <profile>
      <id>ios</id>
      <modules><module>ios</module></modules>
    </profile>
    <profile>
      <id>html</id>
      <modules><module>html</module></modules>
    </profile>
    <profile>
      <id>flash</id>
      <modules><module>flash</module></modules>
    </profile>
  </profiles>

  <modules>
    <module>core</module>
  </modules>
</project>

编辑2:问题已解决 通过使用命令“mvn dependency::tree”,我找到了一个未显示在调试和堆栈跟踪中的缺失的存储库。缺失的存储库是“forplay-legacy”,然后我将其添加到pom.xml中,如下所示:

  <repositories>
    <repository>
      <id>forplay-legacy</id>
      <url>http://forplay.googlecode.com/svn/mavenrepo</url>
    </repository>
  </repositories>

请展示您最重要的部分,即pom.xml文件。然后我们或许可以提供帮助。 - maba
我的 pom。你拿到了,亲切的先生。我现在正在编辑我的帖子以添加它。 - DoctorDep
3
我们怎样知道哪一个丢失了? - Sourabh Saldi
mvn install 为我解决了问题,它安装了所有依赖项。 - vikramvi
如果你在Spring Boot构建中遇到类似的错误,并且发现一些测试用例神秘地被跳过,请查看这个关于默认JUnit排除项的答案。这些排除项会出现在默认的pom.xml文件中,而这些文件在外部流传。https://dev59.com/ceo6XIcBkEYKwwoYSCpJ#60831916 - hello_earth
14个回答

72

我遇到了类似的问题,使用mvn命令和-U选项能够解决它。

mvn clean install -U

这对我有用,希望能帮到你。


2
-U 是什么意思? - Spikolynn
5
@Spikolynn,-U会重新下载所有依赖项。 - Jason Washo
使用Eclipse:右键单击项目>运行为>maven clean..这对我有用。 - whatsinthename

63

你可能缺少一些依赖项。

mvn dependency:tree 查找你缺少的依赖项,然后手动安装它们,并使用 -o (离线)选项构建你的项目。


我无法想象我的笔记本电脑在连接我自己的家庭WiFi时遇到了什么麻烦。我的安全路由器下防火墙也已关闭。不过,你说得有道理,所以我一定会尝试一下,并写下结果。 - DoctorDep
4
天啊,非常感谢你。不是我的互联网有问题,而是“mvn dependency::tree”命令让我找到了一些debug和stack trace命令没有显示的丢失的存储库,而在你的评论中告诉我这个命令之前我不知道它。 这个丢失的存储库是“forplay-legacy”。然后我搜索了一些关于这个存储库的信息,并将其添加到了我的存储库列表中。 然后,哇,它成功安装了。如果没有你提到这个命令,我永远不会发现它。非常感谢! - DoctorDep
2
太好了!这个小窍门也帮助了我。我不知道为什么UI(Maven -> Update Project)不能帮到我。 - Amit Kumar Gupta
mvn dependency::tree 对我没用。 我收到了这个错误:找不到插件Plugin [org.apache.maven.plugins:maven-dependency-plugin]的插件描述符 - emoleumassi
2
Pratik的下面回答,mvn clean install -U,是一个更简单的解决方法。 - Alexander Measure
显示剩余2条评论

33

我有一个类似的问题,但这里的所有答案都没有帮助到我。

对我来说,问题是一个失败的测试。如果你正在进行测试驱动开发,那么一个失败或未实现的测试不应该破坏构建。我仍然希望我的项目能够构建成功。

为了解决这个问题,我添加了一个配置到Surefire,以便它忽略一个失败的测试。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
    <configuration>
        <testFailureIgnore>true</testFailureIgnore>
    </configuration>
</plugin>

9
我认为这不是一个好主意。可能会将其提交到源代码管理系统,然后你的持续集成服务器就无法捕获代码中的错误。 - britter
2
@britter 这并不意味着它会忽略错误(测试失败)。它只是在测试失败时不会破坏构建。在测试驱动的风格下,这在CI服务器上也是可以的。您仍然可以执行任何您想要的操作,并查看哪些测试失败了。 - Spenhouet
1
这完全是错误的答案:它不允许testFailure,这将解决问题。 - Hohenheim
这将减少您的测试用例的覆盖范围,可能会很危险!它可以消除错误,但不能解决问题。 - Roxana Tapia

14

如果某些单元测试用例失败,就会出现此错误。

在我的应用程序中,由于某些单元测试与Java 8不兼容,它们一直失败。当我将jdk1.8.0_92更改为jdk1.7.0_80后,我的错误问题得到了解决。

使用mvn clean install -DskipTests可以成功构建应用程序,但这样会跳过单元测试。因此,请确保在构建完成后单独运行它们。


是的,这对我也是正确的。测试案例失败了,因此我们得到了上述的错误信息。 - Arefe
我的测试失败了,出现了java.lang.NoSuchMethodError的错误,因为我还改变了JDK。 - undefined

10

更新Maven项目:

步骤:

  1. 右键单击"项目"
  2. 进入"Maven" >> "更新"
  3. 等待所有更改生效
  4. 提交更改(如果代码在仓库中)
  5. 运行

5
我尝试按照这个帖子中大多数评论所给出的指示,包括选定的答案,但错误仍然存在。我进行了一些研究,并找到了这个页面,它提供了一个解决方案,帮助了我(好吧,虽然需要我自己猜测)。
所以我所做的就是替换maven surefire插件中的版本号,如下所示: <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.0.0-M1</version> 希望这能有所帮助!

1

我遇到了同样的错误,但在我的情况下,删除 /target 文件夹和 nbactions.xml 文件后问题得到解决。


在我的情况下,只需从高级文件夹中删除 /target 文件夹,所有子文件夹都可以解决问题。 - Andrey Lebedenko

1

我遇到了同样的问题,我通过以下步骤解决了它:

  1. 右键单击项目->maven->更新项目
  2. 在这里我选择了“强制更新快照/发布版”
  3. 之后我重新编译了我的项目,问题得到了解决

0

对我来说,改变Jenkins的版本有帮助。

  <parent>
    <groupId>org.jenkins-ci.plugins</groupId>
    <artifactId>plugin</artifactId>
    <version>1.642.4</version><!-- which version of Jenkins is this plugin built against? -->
  </parent>

0
当我遇到问题时,changes.xml文档格式不正确(缺少结束标签)。解决方法是编辑XML使其格式正确。
因此,检查XML是否格式正确可能很重要,特别是当发布插件没有抱怨它时。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接