`
garyli
  • 浏览: 173128 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Maven 2 plugin fails with cannot find symbol exception when defining two locatio

 
阅读更多

https://confluence.atlassian.com/display/CLOVERKB/Maven+2+plugin+fails+with+cannot+find+symbol+exception+when+defining+two+locations+for+source+files

Skip to end of metadata Go to start of metadata

Symptoms

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
 
C:\source\location\target\clover\src-test\com\atlassian\fisheye\package\someclass.java:[11,35] cannot find symbol
symbol: class ACLASSNAME

You have a maven project that compiles and installs just fine, but when run with the clover goals on it fails with the above error. The project is set up a little bit different, as the source is in two folders, src/main/java/core, and src/main/java/gen. The maven compiler plugin is configured to handle this as below:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<includes>
<include>core/**</include>
<include>gen/**</include>
</includes>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>

Cause

Clover does not understand the above definition.

Resolution

The maven best practice is to use the build-helper-maven-plugin to add alternate source directories, instead of using <includes> in the maven-compiler-plugin.

Please remove the <includes> from the compiler plugin and add the following plugin definition to your build.xml:

<plugin>
               <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <id>add-source</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>src/java/core</source>
                                <source>src/java/gen</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics