2017-02-07 8 views
3

私のJava Springプロジェクトでmavenのライフサイクル検証を実行しようとすると、奇妙なエラーが発生します。それはmvn spring-boot:runを用いて微細なコンパイルされることに注意してくださいしかし、私はmvn clean verifyを実行したときにそれがで吹く:私は関連があると何を提供することができますmaven surefire java.lang.ClassNotFoundExceptionを確認します。

$mvn clean verify -Dsurefire.skip=true -X 
... 
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.209 sec <<< FAILURE! - in com.fitforger.FitForgerBackendApplicationTests 
    initializationError(com.fitforger.FitForgerBackendApplicationTests) Time elapsed: 0.005 sec <<< ERROR! 
    java.lang.NoClassDefFoundError: com/fitforger/model/GymRat 
    Caused by: java.lang.ClassNotFoundException: com.fitforger.model.GymRat 

?いくつかの初期コンテキストについては以下を参照してください。

プロジェクト構造:私のpom.xmlの

+----src 
    +----main 
    | +----java 
    | | +----com 
    | |   +----fitforger 
    | |    +----controller 
    | |    | +----GymRatController.java 
    | |    | +----WorkoutNodeController.java 
    | |    +----dao 
    | |    | +----GymRatDAO.java 
    | |    +----exception 
    | |    | +----GymRatCreationFailure.java 
    | |    | +----GymRatExistsException.java 
    | |    | +----GymRatNotFound.java 
    | |    | +----GymRatUpdateFailure.java 
    | |    +----FitForgerBackendApplication.java 
    | |    +----model 
    | |    | +----FitForgerModel.java 
    | |    | +----GymRat.java 
    | |    | +----WorkoutAttribute.java 
    | |    | +----WorkoutNode.java 
    | |    | +----WorkoutNodeTypes.java 
    | |    +----repository 
    | |     +----CouchbaseRepository.java 
    | |     +----FitForgerRepository.java 
    | +----resources 
    |   +----application.properties 
    +----test 
      +----java 
      | +----com 
      |   +----fitforger 
      |    +----FitForgerBackendApplicationTests.java 
      |    +----GymRatSteps.java 
      |    +----repository 
      |     +----CouchbaseRepositoryTest.java 
      +----resources 
       +----com 
        +----fitforger 
         +----GymRat.feature 

関連ビット:以下やっによって解決

<build> 
    <resources> 
     <resource> 
      <directory>resources</directory> 
      <targetPath>${project.build.outputDirectory}</targetPath> 
      <includes> 
       <include>application.properties</include> 
      </includes> 
     </resource> 
    </resources> 

    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.6.1</version> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-failsafe-plugin</artifactId> 
      <version>2.19.1</version> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
     </plugin> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
      <version>1.5.1.RELEASE</version> 
     </plugin> 
    </plugins> 

    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-maven-plugin</artifactId> 
       <version>1.5.1.RELEASE</version> 
       <executions> 
        <execution> 
         <id>pre-integration-test</id> 
         <goals> 
          <goal>start</goal> 
         </goals> 
        </execution> 
        <execution> 
         <id>post-integration-test</id> 
         <goals> 
          <goal>stop</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <encoding>UTF-8</encoding> 
        <source>${java.version}</source> 
        <target>${java.version}</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.19.1</version> 
       <configuration> 
        <excludes> 
         <exclude>com.fitforger.FitForgerBackendApplicationTests</exclude> 
        </excludes> 
        <skip>${surefire.skip}</skip> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-failsafe-plugin</artifactId> 
       <version>2.19.1</version> 
       <configuration> 
        <includes> 
         <include>com.fitforger.FitForgerBackendApplicationTests</include> 
        </includes> 
       </configuration> 
       <executions> 
        <execution> 
         <goals> 
          <goal>integration-test</goal> 
          <goal>verify</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build 
+1

この(https://github.com/spring-projects/spring-boot/issues/6254)を試みることができるあなたが直面しているものに似ているように見えます。あなたは ' org.springframework.boot 春・ブートのmaven-pluginの <設定> 幹部 ' – GauravJ

+0

これは働いていたと試みることができます!ありがとうございました...私はそれを正しいものとしてマークすることができるように一般的な応答を追加したいかもしれません。 –

+0

うれしいです。私は答えとしてそれを動かしました。 – GauravJ

答えて

2

OPの問題は、

Thisあなたが直面しているものに似ているように見えます。あなたは

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
     <classifier>exec</classifier> 
    </configuration> 
</plugin> 
関連する問題