【问题标题】:How to correct errors associated with code completion on Eclipse with TFS (Team Explorer Everywhere) plugin?如何使用 TFS(Team Explorer Everywhere)插件更正与 Eclipse 上的代码完成相关的错误?
【发布时间】:2011-12-12 21:07:36
【问题描述】:

我正在使用 Eclipse(实际上是 IBM 的用于 WebSphere 的 AST——基于 Eclipse 3.2.1)和用于 TFS 的 Team Explorer Everywhere 插件。在开始一个新项目并从 TFS 获取代码后,我注意到尝试更新任何 Java 代码会导致以下错误消息:

 "This compilation unit is not on the build path of a Java project."

在网上搜索后,建议将以下内容添加到项目的 .project 文件中:

<natures>
    <nature>org.eclipse.jdt.core.javanature</nature>
</natures>

但是,这样做会导致我的包声明(在任何类中)被标记如下:

The declared package "some.package.name" does not match the expected package "".
The type java.lang.Object cannot be resolved. It is indirectly referenced from the required .class files.

另一个建议是更改应用程序的构建路径,例如删除并重新建立 JRE 系统库。我的经验表明,如果将“性质”添加到 .project 文件中,此选项仅在“属性”菜单中可用。

作为最后的手段,我尝试生成一个新的工作区并在那里得到相同的结果。

是否有我需要添加的 TFS 的特定“性质”,或此问题的其他解决方案?

【问题讨论】:

    标签: java eclipse tfs eclipse-plugin


    【解决方案1】:

    您实际导入的是什么?它是现有的 Java 项目吗?它是一个 Eclipse 项目吗?您要导入的文件夹是否包含 .project 文件,还是位于子目录中?还是根本没有.project 文件?

    关于包声明不正确的错误听起来像是您可能在项目层次结构中导入了更深层次的东西(即导入$/Project/src/some/package/name而不是`$/Project'。)这可能吗?

    【讨论】:

    • 有一个.project 文件(我尝试在其中添加nature 条目)。这最初是作为一个 Maven 项目设置的。我们首先使用mvn archetype:generate创建maven结构,然后通过Import-&gt;Existing Project将项目导入Eclipse。
    【解决方案2】:

    我找到了这个问题的答案 - 这与我如何从 TFS 导入应用程序有关。

    我们的应用程序结构设置为(例如):

    应用程序名称应用程序 | 应用程序名称耳 应用程序名称战争 应用名称-jar

    所以,只需根据需要导入耳朵、战争、罐子等。导入 app-name-app 是问题的根源。对于我的项目,我有一个耳朵和一个战争 - 只导入这两个项目导致 AST/Eclipse 行为正确。

    【讨论】:

      猜你喜欢
      • 2014-01-01
      • 2014-09-19
      • 2012-11-25
      • 2012-07-12
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      • 2013-05-23
      • 2020-01-19
      相关资源
      最近更新 更多