我正在尝试重新熟悉Eclipse环境和ant集成。
问题是:如何将我的源dir + build.xml与工作区分开?
我拥有的是什么 一个小的java项目及其build.xml文件,所有源都放在一个单独的 项目文件夹。然后我启动了Eclipse并让它通过导入我的项目 新项目 - > “来自现有Ant构建文件的Java项目”
一切顺利,直到我想使用build.xml从Eclipse内部构建项目。 Ant开始抱怨无法找到源树。我检查后 工作区我发现Eclipse已经将build.xml复制到工作区中,所以就是这样 很明显,蚂蚁在那里找不到任何来源。他们还在我的项目总监之下 如果可能的话,我确实希望将它们留在那里。
那么最好的方法是什么让这个设置工作?一边是工作区,另一边是我的项目?
感谢!
编辑:我想要的甚至可能吗?
答案 0 :(得分:10)
不要使用“现有Ant构建文件中的Java项目”,而只需创建一个简单的“Java项目”。在向导中,取消选中“使用默认位置”并输入到现有项目的顶级目录(即build.xml所在的位置)的路径(或浏览)。是的,eclipse将在项目目录中创建.project和.classpath文件(如果它们尚不存在),但项目将保留在eclipse工作区之外。
例如,这种设置在独立系统上的非常特殊的情况下非常有效,其中源树位于公共位置,但每个用户在受保护的位置具有工作空间。使用上述方法,该系统的每个用户都可以在自己的eclipse工作区中创建项目,执行ant目标,然后从他们自己的工作区中删除项目,而不会影响其他用户的工作区。
答案 1 :(得分:2)
答案 2 :(得分:1)
我一直在C ++项目中这样做(没有Java,抱歉,但我觉得这个概念是可移植的。)
我的工作空间位于〜/ workspaces / {workspace_name}。我在〜/ {my_projects中有一个共享项目文件,然后源树(多个版本)在〜/ proj1,〜/ proj2等中。
在每个〜/ proj *目录中,我将一个符号链接放到〜/ my_projects / .project和.cproject(C ++需要,不在Java中使用)。因此每个源树都在共享单个项目文件。然后在每个工作区(每个源树一个)中,我通过导入项目链接来配置工作区。例如,〜/ workspaces / proj1 import~ / proj1 / .project,但是〜/ proj1 / .project实际上是〜/ my_projects / .project的符号链接。
因此,这会使源与工作区分开。在构建时,没有真正的配置要做 - 我只是在树的相应节点中运行Eclipse - 我们已经有了自己的面向命令的构建系统(我们没有使用ant,但同样的原则应该适用)。
我对SCM的私有区域中的〜/ my_projects文件夹进行源代码控制,因此其他团队成员不会看到它或者使用它 - 其中许多人根本不使用Eclipse。
答案 3 :(得分:0)
没有必要尝试使用相同的源文件集来避免Ant和Eclipse。事实上,他们使用同一套可能更好。
请记住,你实际上并没有混合任何东西。只有一组源文件,然后有两种不同的构建方式; Ant和Eclipse。这些构建器彼此独立,因此与Eclipse耦合没有问题。您甚至可以愉快地将所有eclipse文件(.classpath,.project,.settings)提交给源代码控制,而不会影响使用其他IDE的任何开发人员。
答案 4 :(得分:0)
我一直这样做(诚然使用maven,而不是蚂蚁),但同样的原则适用。
如果Eclipse中有现有项目(源树中有.project),则可以导入项目 - >导入现有项目。出现对话框时,您可以选择“将项目复制到工作区”。确保取消选中此项并将其导入。
您仍然将.project存储在原始源树中,但这就是全部。
所以现在我有了