2017-02-27 47 views
1

運行一個Maven當我試圖在Eclipse項目JUnit測試運行Maven的我有下面這個錯誤:錯誤使用JUnit項目在Eclipse

[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building exemplo-maven 1.0.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ exemplo-maven --- 
[INFO] Deleting C:\Users\vcamargo\workspace\exemplo-maven\target 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ exemplo-maven --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 0 resource 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ exemplo-maven --- 
[INFO] Changes detected - recompiling the module! 
[INFO] Compiling 1 source file to C:\Users\vcamargo\workspace\exemplo-maven\target\classes 
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ exemplo-maven --- 
[INFO] Using 'UTF-8' encoding to copy filtered resources. 
[INFO] Copying 0 resource 
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ exemplo-maven --- 
[INFO] Changes detected - recompiling the module! 
[INFO] Compiling 1 source file to C:\Users\vcamargo\workspace\exemplo-maven\target\test-classes 
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ exemplo-maven --- 
[INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/surefire-booter/2.12.4/surefire-booter-2.12.4.pom 
[INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/2.12.4/maven-surefire-common-2.12.4.pom 
[INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/reporting/maven-reporting-api/2.0.9/maven-reporting-api-2.0.9.pom 
[INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-toolchain/2.0.9/maven-toolchain-2.0.9.pom 
[INFO] Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugin-tools/maven-plugin-annotations/3.1/maven-plugin-annotations-3.1.pom 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 8.470 s 
[INFO] Finished at: 2017-02-27T10:08:30-03:00 
[INFO] Final Memory: 19M/153M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (default-test) on project exemplo-maven: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test failed: Plugin org.apache.maven.plugins:maven-surefire-plugin:2.12.4 or one of its dependencies could not be resolved: Failed to collect dependencies at org.apache.maven.plugins:maven-surefire-plugin:jar:2.12.4 -> org.apache.maven.surefire:surefire-booter:jar:2.12.4: Failed to read artifact descriptor for org.apache.maven.surefire:surefire-booter:jar:2.12.4: Could not transfer artifact org.apache.maven.surefire:surefire-booter:pom:2.12.4 from/to central (https://repo.maven.apache.org/maven2): RSA premaster secret error: SunTls12RsaPremasterSecret KeyGenerator not available -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException 

繼低於我的pom.xml:

<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"> 

    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.algaworks.curso</groupId> 
    <artifactId>exemplo-maven</artifactId> 
    <version>1.0.0-SNAPSHOT</version> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.3</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>java</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <killAfter>-1</killAfter> 
        <mainClass>com.algaworks.curso.Main</mainClass> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 

</project> 

我的主類:

package com.algaworks.curso; 

public class Main { 

    public static void main(String[] args) { 
     System.out.println("Hello Maven"); 
    } 

} 

最後我的測試類:

package com.algaworks.curso; 

import static org.junit.Assert.assertEquals; 
import org.junit.Test; 

public class FibonacciTest { 

    @Test 
    public void deve_retornar_fibonacci_posicao_1() { 
     assertEquals(1L, 1L); 
    } 

} 

當我單獨運行我的測試類時,它運行完美。如果我嘗試運行未經測試的Maven項目(目標:exec:java),它也會運行得很完美。

當我嘗試使用JUnit測試(目標:清潔項目)運行Maven項目時發生錯誤。

+0

當您嘗試從終端運行時發生了什麼? –

+0

我不知道如何從終端上運行它。我在Eclipse中使用了Maven插件,如果我配置爲在沒有測試的情況下運行(goal:exec:java),它可以完美運行。 – Vitor

+0

嘗試從包含'pom.xml'的項目目錄運行'mvn clean install'(安裝maven之後) –

回答

0

從您發佈的日誌看來,問題不在於您的JUnit測試用例,而是您的maven無法下載少量工件。在回購中,我可以看到Maven surefire booter jar的必需版本。 。我猜想網絡防火牆或連接有問題...我們可以嘗試重新連接到網絡,然後運行一個目標嗎?

1

錯誤表示由surefire插件直接或間接使用的依賴項無法解析。我從來沒有這個錯誤,但是,從位置:「.m2 \ repository \ org \ apache \ maven \ plugins」 中刪除您的maven-surefire-plugin文件夾,然後重新運行構建,它將自動重新下載所有插件文件。 請確保在刪除之前有大量的文件夾,以便您可以分析丟失的內容。