Eclipse javadoc:已经定义了包信息类型



OS: Windows 7 x64

Eclipse 平台:3.7.2.M20120208

手机2E: 1.0.200.20111228-1245

有与此错误类似的问题。/src/test 文件夹中有一堆 package-info.java 文件,因此它们具有相同的包。日食显示错误:

"The type **package-info** is already defined"

我可以删除/test/src中的package-info.java文件,以避免问题指示。但是这种解决方法不是很舒服,因为我使用的是SCM,需要在更新后一直删除此文件。Eclipse Platform 4.2.0.I20120608-1400 相同

你可以这样做 -->

转到生成路径 -> 配置生成路径 -->

在"源"选项卡中 -->

选择包(其中有这些有问题的包信息.java文件)例如。project-name/src/test/java

单击排除 -> 并在排除模式中添加"**/包信息.java"

这应该可以解决问题,因为很明显,您要求Eclipse排除这些文件,因此您不必删除这些文件并解决与SCM相关的问题

有几个选项可以解决这个问题:

  1. 远离包信息.java文件,并将它们替换为包.html文件。
  2. src/树中只有包信息.java文件,因为测试/树中同名的包将"重叠"src/树。
  3. 分别为 src/和 test/树生成 javadoc,因为它们可能适用于不同的受众。
如果你使用 maven 和

m2e 进行 eclipse 和 maven 之间的交互。有一个非常干净的解决方案:向pom添加一个配置文件.xml该配置文件仅由m2e激活,并在测试编译阶段防止编译包信息.java。这里有一个示例:

 <profile>
       <id>m2e</id><!--This profile is activated when eclipse interacts with maven (using m2e).-->
           <activation>
                <property>
                    <name>m2e.version</name>
                </property>
            </activation>
           <build>
                <plugins>
                    <plugin>
                        <!--eclipse do not support duplicated package-info.java, in both src and test.-->
                        <artifactId>maven-compiler-plugin</artifactId>
                        <executions>
                            <execution>
                              <id>default-testCompile</id>
                              <phase>test-compile</phase>
                              <configuration>
                                <testExcludes>
                                  <exclude>**/package-info.java</exclude>
                                </testExcludes>
                              </configuration> 
                              <goals>
                                <goal>testCompile</goal>
                              </goals>
                            </execution>                  
                        </executions>
                    </plugin>
                </plugins>
        </build>
</profile>

最新更新