有两个java项目导入Eclipse工作区:
MainProject
SecondProject
MainProject
的构建路径上需要SecondProject
。
在我将两个项目的源代码迁移到Team Foundation Server
之前,MainProject
的属性已通过SecondProject
标签引用了"Java Build Path" -> "Projects"
。一切都很好。
现在,通过TFS
插件将两个项目从Team Explorer Everywhere
导入到干净的Eclipse工作区后,MainProject
选项卡上的"Projects"
项目不再可见"Add..."
按钮对话框。
有趣的是MainProject
也不可见,例如,在Project -> Clean...
对话框中,但在project properties -> "Project References"
对话框中可以看到它...
哪里可能是问题???
Eclipse版本3.6.2(Helios SR2),TFS 2010 SP1
P.S。如果我手动将<classpathentry kind="src" path="/MainProject"/>
添加到.classpath
,则会显示错误“Project'SecondProject'缺少必需的Java项目:'MainProject'”。
答案 0 :(得分: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可能包含在那一堆中。
答案 1 :(得分:1)
当你从存储库中检出代码时,你应该确保应用程序有.project,.project可用。你应该从你的代码为'mvn eclipse:eclipse'命令的文件夹中的命令行创建.project重启你的日食。
答案 2 :(得分: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>
答案 3 :(得分:-1)
我不熟悉Team Foundation Server,但如果您想在Eclipse内部和外部构建项目,我建议使用Maven。