6

Eclipse 工作区中导入了两个 java 项目:

  • MainProject
  • SecondProject

MainProject构建路径上需要SecondProject.

在我将两个项目的源代码迁移到我们的 之前Team Foundation Server,在via选项卡MainProject的属性中引用了。一切正常。SecondProject"Java Build Path" -> "Projects"

现在,通过插件将两个项目导入TFS到干净的 Eclipse 工作区后,该项目在选项卡和按钮对话框中不再可见。Team Explorer EverywhereMainProject"Projects""Add..."

有趣的是,MainProject它也是不可见的,例如,在Project -> Clean...对话框中,但它在project properties -> "Project References"对话框中可见......

问题可能出在哪里???

Eclipse 版本 3.6.2 (Helios SR2),TFS 2010 SP1

PS 如果我手动添加<classpathentry kind="src" path="/MainProject"/>.classpath则会显示错误“Project 'SecondProject' is missing required Java project:'MainProject'”。

4

4 回答 4

8

我可能完全错了,但在我看来,Eclipse 可能不会将您导入的 TFS 项目视为“Java”项目(Eclipse 还支持“普通”项目等)。当您查看项目的包层次结构中的 *.java 文件时,它们各自的图标中是否有一个纯蓝色的“J”或者它们是“空心的”?

如果前者是真的,那么 Eclipse 将您的项目视为 Java 项目,我会彻底困惑,您可以忽略我的回答;)

如果后者为真,则该项目未配置为“Java 项目”。这可能是一团糟……但在这种情况下,一种解决方案可能是将现有项目重命名为其他项目(例如 MainProjectOld、SecondProjectOld),创建新的“MainProject”和“SystemProject”项目作为新的“Java”项目,然后将所有源代码从旧的源文件夹复制到新的源文件夹。我对 TeamFoundationServer 了解不多,但我假设此时您可以使用 TFS 重新连接您的新项目,并将它们作为 Java 项目重新提交。

编辑

底线是,如果后者是真的,那么听起来项目配置 XML 文件没有进入 TFS,并且 Eclipse 对在初始导入后应该如何处理项目(普通、Java 或其他)感到困惑TFS。我在 CVS 和 SVN 中也看到过这种情况,所以我假设这是 Eclipse 支持的任何版本控制系统中相当普遍的问题。TFS 可能包含在该组中。

于 2012-03-21T18:25:37.020 回答
1

您应该确保应用程序具有 .project,当您从存储库中签出代码时,.project 可能不可用,您应该使用 'mvn eclipse:eclipse' 命令从代码所在文件夹中的命令行创建 .project 并重新启动 eclipse .

于 2015-05-05T19:08:27.053 回答
0
First go to your project root and edit .project file . make sure there have entry for javabuilder as following . If not then 
<buildCommand>
    <name>    org.eclipse.jdt.core.javabuilder    </name>
    <arguments>
    </arguments>
</buildCommand>
Full .Project file looks like.

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>Your Project </name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.common.project.facet.core.builder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
        <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
        <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
    </natures>
</projectDescription>
于 2014-10-07T12:52:01.733 回答
-1

我不熟悉 Team Foundation Server,但如果您想在 Eclipse 内部和外部构建项目,我建议使用 Maven。

于 2012-03-21T16:42:55.083 回答