【问题标题】:Using same java hierarchy for Eclipse and Netbeans对 Eclipse 和 Netbeans 使用相同的 Java 层次结构
【发布时间】:2012-04-13 11:37:42
【问题描述】:

我们的一些开发人员更喜欢 Eclipse,而一些开发人员更喜欢 Netbeans。 我们希望两者具有相同的文件层次结构,以便将其保存在 subversion 的一个目录下。

目录结构为:

src
| +main
| | +java
| |   +com
| |     +mycompany
| |       +utils
| |         +Bar.java
| |         +Foo.java
| +test
| | +java
| |   +com
| |     +mycompany
| |       +utils
| |         +BarTest.java
| |         +FooTest.java
bin
| +com
| | +mycompany
| |   +utils
| |     +Bar.class
| |     +Foo.class

这不仅在 Netbeans 中运行良好,而且似乎是一个标准。 (http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html) 我遇到的问题是,在 Eclipse 中我可以看到所有这些层次结构,但它抱怨文件 Bar.java(上图),它有一个包声明:“package com.mycompany.utils;”,应该被声明为“package main.java.com.mycompany.utils;”,这不是我想要的。 如何配置 Eclipse 以识别此层次结构?

谢谢,
钙钛矿

【问题讨论】:

    标签: java eclipse netbeans


    【解决方案1】:

    Eclipse 无法识别正确的类层次结构,因为源文件夹的定义位于其元数据文件中,您可能尚未将其签入 SVN。由于您似乎在使用 Maven,我建议您让您的开发人员安装 m2e,它本机识别和处理 Maven 项目,无需额外设置。

    Indigo 和 Helios 附带安装了 m2e 的 afaik。

    如果您想手动修复这些源代码树,那么只需右键单击项目并定义两个源文件夹

    src/main/java
    src/test/java
    

    【讨论】:

    • 如果我打开项目的属性,转到 Java 构建路径,然后是源选项卡,它会显示我的 src 文件夹。如果我点击“编辑”,如果我将“src”更改为“src/main”或“src/main/java”,它会抱怨该文件夹已经存在!
    • 这个已经存在的文件夹的问题在这里解决了:stackoverflow.com/questions/11976223/…
    【解决方案2】:

    您需要编辑您的classpathentry。尝试为您的 Eclipse 项目编辑 .classpath 文件并将其更改为如下内容:

    <classpathentry kind="src" output="bin" path="src/main/java"/>
    

    【讨论】:

    • 我试过了: 但它仍然抱怨 com.mycompany.utils 应该是 src.main.com.mycompany.utils
    • 您是否定义了任何其他源文件夹?我的 .classpath 看起来像这样:&lt;classpath&gt; &lt;classpathentry kind="src" path="src/main/java"/&gt; &lt;classpathentry kind="src" path="src/test/java"/&gt; &lt;classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/&gt; &lt;classpathentry kind="output" path="bin"/&gt; &lt;/classpath&gt; 该项目在包资源管理器视图中看起来像 this
    【解决方案3】:

    不匹配之处在于您的 Eclipse 项目配置了 src 作为 Java 源路径的根目录,而实际上您在该文件夹下都有两个单独的源代码树。正确配置:

    1. 打开项目属性(通过右键单击)
    2. 选择左侧的Java Build Path,然后选择右侧的Source选项卡
    3. 删除 src 作为源文件夹
    4. src/main/javasrc/test/java 添加为源文件夹

    这告诉 Eclipse 该项目有两个源文件夹,它会将它们一起编译到 bin 文件夹中。

    注意:强烈建议将.project.classpath文件和.settings文件夹签入svn,这样任何签出项目到Eclipse的人都会自动得到这个配置。

    如果需要,您可以为每个源文件夹配置单独的构建输出位置(而不是都进入 bin)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多