我们有一个使用三叶草和axistools-wsdl2java插件的maven项目。Platfrom是windows。
我们使用clover 2.4.0插件来获得代码覆盖率,它集成在项目的pom.xml中。
<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>
此外,还有axistools插件用于使用wsdl文件生成类,配置如下。
<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目标并在各自的目录中生成源文件。下一个三叶草插件尝试通过运行单元测试用例来检测源代码,当此插件将检测的源代码放在{base dir}/Target/Clover/src/main/java/...然后它触发“编译”目标来编译所有源代码。在编译源代码时,添加了两条源路径,即{base dir}/src/main/java/...和{base dir}/Target/clover/src/main/java/...,两者都有相同的类。当maven编译器尝试编译这些源时,编译失败,抛出“重复类错误”。
但是当我们注释出axistools插件时,三叶草仪器和报告生成都很好。
如果你们中的任何人遇到类似的问题“重复类错误”,请在这方面指导我们。任何建议和帮助将不胜感激。
似乎问题在于您的Axis插件生成src / main / java的源代码(它应该是目标/ src生成的)。
当Clover被调用时,它将首先从src/main/java中获取“正常”的源代码,对它们进行检测,然后放入target/clover/java中。接下来Clover将改变源根列表,用target/clover/java替换src/main/java。
接下来,AXIS代码生成开始发挥作用,它再次在src/main/java中生成新的源代码,并将此目录添加为额外的源代码根目录。
因此,编译器在两个位置看到同一组源代码(即未生成的源代码),并对此进行投诉。
这种情况与Clover知识库中描述的情况非常相似:
使用Clover和JAXB或JAXB2插件https://confluence.atlassian.com/display/CLOVERKB/Duplicate类错误
Clover和jaxws-maven插件的https://confluence.atlassian.com/display/CLOVERKB/Duplicate类错误
您将在这些文章中找到可能的解决方案。
谢谢! 我的build.gradle看起来如下(不包括一般的其他东西)... 依赖项{compile fileTree(include:['*.jar'],dir:'libs')} 错误:类org.apache.xmlbeans.xml.Stream.Location已添加到输出中。请删除重复的副本。编译器不以现代.class文件格式为目标。推荐的(org.apache.log4j.chainsa
创建一个新的android项目后,Eclipse会自动创建一个“appcompat_v7”项目,在/src下没有任何文件。但它显示了样式错误。下一行是styles.xml中的第18行。 样式名称=“Widget.MediaRouter.MediaRouteButton” 父=“Widget.AppCompat.ActionButton” 我不知道Eclipse如何或为什么创建这个项目。 我是And
无法计算生成计划:Plugin org.apache.maven。plugins:maven-resources-plugin:2.5或其一个依赖项无法解析:读取org.apache.maven的项目描述符失败。plugins:maven-resources-plugin:jar:2.5 pluginorg.apache.maven。plugins:maven-resources-plugin:2
我正试图创建我的第一个“Hello World”Scala项目,使用Maven作为构建工具,IntelliJ作为我的IDE。在运行mvn包时,我不断遇到以下错误。 以下是完整的错误:未能执行目标组织。scala工具:maven scala插件:2.15.2:compile(默认)on project couchbase-test-3:wrap:org。阿帕奇。平民执行董事。ExecuteExcep
我正在使用eclipse、m2eclipse插件和maven创建一个新的maven项目,遵循以下步骤,http://o7planning.org/en/10101/install-maven-into-eclipse 但是,当创建一个新的maven项目时,没有JRE系统库,也没有maven库。只有如下所示的src、target和pom.xml。这正常吗?如果没有,我该如何避免呢?谢谢! 单击以获取