2017-12-06 21 views
0

spring-boot統合テストのプロジェクトです。 JDK 9に移動しようとしています。私が構築することができるよポンポンでいくつかの変更後(テストがスキップされて)、実行プロジェクトのJava 9上しかし、私は統合テストを実行しようとすると、私は例外を取得:テストの実行中にMavenビルドがjava.lang.ClassNotFoundExceptionをスローする

MVNクリーンインストール:

[ERROR] Please refer to pathToProject\target\surefire-reports for the individual test results. 
[ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream. 
[ERROR] There was an error in the forked process 
[ERROR] java.lang.ClassNotFoundException: org.apache.maven.surefire.junit4.JUnit4Provider 
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process 
[ERROR] java.lang.ClassNotFoundException: org.apache.maven.surefire.junit4.JUnit4Provider 
[ERROR]   at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:673) 
[ERROR]   at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:535) 
[ERROR]   at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:280) 
[ERROR]   at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245) 
[ERROR]   at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1124) 
[ERROR]   at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java: 
[ERROR]   at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:832) 
[ERROR]   at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) 
[ERROR]   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 
[ERROR]   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) 
[ERROR]   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) 
[ERROR]   at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) 
[ERROR]   at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) 
[ERROR]   at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java 
[ERROR]   at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 
[ERROR]   at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:309) 
[ERROR]   at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:194) 
[ERROR]   at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:107) 
[ERROR]   at org.apache.maven.cli.MavenCli.execute(MavenCli.java:955) 
[ERROR]   at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290) 
[ERROR]   at org.apache.maven.cli.MavenCli.main(MavenCli.java:194) 
[ERROR]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[ERROR]   at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
[ERROR]   at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
[ERROR]   at java.base/java.lang.reflect.Method.invoke(Method.java:564) 
[ERROR]   at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) 
[ERROR]   at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 
[ERROR]   at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) 
[ERROR]   at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) 

私の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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <artifactId>myProject</artifactId> 
    <version>0.1.4</version> 
    <packaging>jar</packaging> 
    <groupId>com.myProject</groupId> 

    <parent> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-parent</artifactId> 
     <version>1.5.9.RELEASE</version> 
    </parent> 

    <properties> 
     <java.version>1.9</java.version> 

     <!-- Dependency versions --> 
     <logback.version>1.1.7</logback.version> 
     <lombok.version>1.16.18</lombok.version> 

     <!-- Plugin versions--> 
     <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version> 
     <maven-surefire-plugin.version>2.20.1</maven-surefire-plugin.version> 
     <maven-failsafe-plugin.version>2.20.1</maven-failsafe-plugin.version> 
     <docker-maven-plugin.version>1.0.0</docker-maven-plugin.version> 
    </properties> 

    <dependencies> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency>  
     <dependency> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
      <version>${logback.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.projectlombok</groupId> 
      <artifactId>lombok</artifactId> 
      <version>${lombok.version}</version> 
      <scope>provided</scope> 
     </dependency>  
     <dependency> 
      <groupId>javax.xml.bind</groupId> 
      <artifactId>jaxb-api</artifactId> 
      <version>2.3.0</version> 
     </dependency> 

     <!-- tests --> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 

    </dependencies> 


    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>${maven-compiler-plugin.version}</version> 
       <configuration> 
        <source>${java.version}</source> 
        <target>${java.version}</target> 
        <jdkToolchain> 
         <version>9</version> 
        </jdkToolchain> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-failsafe-plugin</artifactId> 
       <version>${maven-failsafe-plugin.version}</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>integration-test</goal> 
          <goal>verify</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>${maven-surefire-plugin.version}</version> 
       <configuration> 
        <argLine>--add-modules java.se.ee</argLine> 
        <argLine>--add-modules java.xml.bind</argLine> 
        <argLine>--add-modules java.xml.ws.annotation</argLine> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jar-plugin</artifactId> 
       <version>3.0.2</version> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

Mavenのバージョン:3.5.2

すべての統合テストが同じ設定になっている:

@RunWith(SpringRunner.class) 
@SpringBootTest 
@TestPropertySource(locations="classpath:application.properties") 
public class SomeTest { 

答えて

0

問題はのmaven-確実な-プラグインバージョン2.20.1にありました。 JDK 8でも私にとってはうまく動作しません。2.18.1にバージョンを下げた後、正常に動作するようになりました。

関連する問題