2017-02-07 1 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 스프링 부팅 받는다는 - 플러그인 ' – GauravJ

+0

이 일 <구성> 간부로 시도 할 수! 고마워요 ... 일반 응답을 추가하여 올바른 것으로 표시 할 수 있습니다. –

+0

다행이었습니다. 나는 그것을 대답으로 옮겼다. – GauravJ

답변

2

영업 문제는

This 당신이 직면하고있는 것과 비슷한 것 같아요 . 당신이

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
     <classifier>exec</classifier> 
    </configuration> 
</plugin> 
관련 문제