우리는 clover와 axistools-wsdl2java 플러그인을 사용하는 maven 프로젝트를 가지고 있습니다. Platfrom은 창문입니다.axistools와 clover plugin이 모두 maven 프로젝트에 포함되어있을 때의 중복 클래스 에러
우리는 프로젝트의 pom.xml에 통합 된 코드 커버리지를 얻기 위해 클로버 2.4.0 플러그인을 사용하고 있습니다. 다음과 같이 클로버 플러그인을 구성했습니다.
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-clover2-plugin</artifactId>
<version>2.4.0</version>
<configuration> <generatePdf>true</generatePdf>
<generateXml>true</generateXml>
<generateHtml>true</generateHtml>
<licenseLocation>C:/EcasSVNCO/ews/ews-mvn/ewsbase/src/test/resources/license/clover.license</licenseLocation>
<reportDescriptor>C:/EcasSVNCO/ews/ews-mvn/ewsbase/src/test/resources/descriptor/default-clover-report.xml</reportDescriptor>
<excludes>
<exclude>${basedir}/src/main/java/*.java</exclude>
</excludes>
</configuration>
<executions>
<execution>
<id>install</id>
<phase>install</phase>
<goals>
<goal>instrument</goal>
<goal>clover</goal>
</goals>
</execution>
<!--
<execution>
<id>test</id>
<phase>test</phase>
<goals>
<goal>instrument</goal>
<goal>clover</goal>
</goals>
</execution>
<execution>
<id>site</id>
<phase>pre-site</phase>
<goals>
<goal>instrument</goal>
<goal>clover</goal>
</goals>
</execution>
-->
</executions>
</plugin>
또한 아래와 같이 구성된다 WSDL 파일을 사용하여 클래스를 생성하는 데 사용되는 플러그 axistools있다.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>axistools-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<sourceDirectory>${base.dir}/src/main/resources/wsdl</sourceDirectory>
<outputDirectory>${base.dir}/src/main/java</outputDirectory>
<wsdlFiles>
<wsdlFiles>wsecas.wsdl</wsdlFiles>
</wsdlFiles>
<packageSpace>com.symantec.wsecas</packageSpace>
<testCases>true</testCases>
<serverSide>true</serverSide>
<phase>install</phase>
<subPackageByFileName>true</subPackageByFileName>
</configuration>
<executions>
<execution>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
우리가 명령을 실행
'MVN 클린 설치', 컴파일 잘 갈 것입니다. 그런 다음 첫 번째 axistool의 wsdl2java 목표가 실행되고 소스 파일이 각각의 디렉토리에 생성됩니다. 다음 클로버 플러그인이 플러그인은/주/자바/... 그런 다음이 화재 "컴파일" {기본 디렉토리}/대상/클로버/SRC에서 계측 된 소스 코드를 배치 할 때, 단위 테스트 케이스를 실행하여 악기의 소스 코드를 시도 목표는 모든 소스 코드를 컴파일합니다. 소스 코드를 컴파일하는 동안 두 소스 경로가 추가됩니다. 즉, {basedir}/src/main/java/... 및 {basedir}/target/clover/src/main/java/... 모두 동일한 클래스를가집니다. . maven 컴파일러가 이러한 소스 컴파일을 시도 할 때 "중복 클래스 오류"가 발생하여 컴파일이 실패합니다.그러나 우리가 axistools 플러그인을 주석 처리하면 클로버 계측 및 보고서 생성이 잘됩니다. 너희 중에 누구든지 유사한 문제 '중복 클래스 오류'건너 한 경우
,이 점에서 우리를 인도하시기 바랍니다. 모든 제안과 도움을 주시면 대단히 감사하겠습니다.