Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven AspectJ编译时编织对Jacoco代码覆盖率的影响_Maven_Code Coverage_Aspectj Maven Plugin_Jacoco Maven Plugin - Fatal编程技术网

Maven AspectJ编译时编织对Jacoco代码覆盖率的影响

Maven AspectJ编译时编织对Jacoco代码覆盖率的影响,maven,code-coverage,aspectj-maven-plugin,jacoco-maven-plugin,Maven,Code Coverage,Aspectj Maven Plugin,Jacoco Maven Plugin,我正在使用maven构建我当前的项目。我有Jacoco用于代码覆盖,aspectJ用于编译时编织我的方面 现在我面临的问题是aspectJ编写的代码会影响代码覆盖率 当我们不编写代码时,它是100%,但当我们使用aspectJ时,它会下降到1/4。有什么建议吗?@A.Di Matteo, 我只是想分享我所做的工作,我没有得到任何适当的解决这个问题的办法。所以基本上jacoco所做的就是在测试阶段完成后计算编译类的覆盖率,aspectj编译器在weaved one中编译这些类。所以在编织之前,我只

我正在使用maven构建我当前的项目。我有Jacoco用于代码覆盖,aspectJ用于编译时编织我的方面

现在我面临的问题是aspectJ编写的代码会影响代码覆盖率

当我们不编写代码时,它是100%,但当我们使用aspectJ时,它会下降到1/4。有什么建议吗?

@A.Di Matteo, 我只是想分享我所做的工作,我没有得到任何适当的解决这个问题的办法。所以基本上jacoco所做的就是在测试阶段完成后计算编译类的覆盖率,aspectj编译器在weaved one中编译这些类。所以在编织之前,我只需要将我的编译类放到某个地方,这样我的项目就可以同时拥有这两个类(编译类和编织类)。所以我把它们放在一个单独的目录中,这样jacoco就可以从那里计算覆盖率

<plugin>
<artifactId>maven-antrun-plugin</artifactId>
  <executions>
  <execution>
    <phase>compile</phase>
        <configuration>
        <target>
         <copy todir="${project.build.directory}/classesForSonar">
         <fileset dir="${project.build.directory}/classes"
                                        includes="**/*" />
        </copy>
    </target>
 </configuration>
   <goals>
    <goal>run</goal>
        </goals>
    </execution>
    </executions>
</plugin>


如果有人找到了更好的解决方案,请将其发布。非常感谢。:)

@A.Di Matteo,你好!你能解决这个问题吗?