首页 文章

Eclipse:如何保持项目源文件和ant build.xml与eclipse工作区分开?

提问于
浏览
9

我正在尝试重新熟悉Eclipse环境和ant集成 .

问题是:如何保持我的源dir build.xml与工作区分开?

我所拥有的是一个小型java项目及其build.xml文件,其中所有源都放在一个单独的项目文件夹下 . 然后我启动了Eclipse并让它通过New Project导入我的项目 - >“现有Ant Build File中的Java项目”

一切都很顺利,直到我想使用build.xml从Eclipse内部构建项目 . Ant开始抱怨无法找到源树 . 在我检查了工作区之后,我发现Eclipse已经将build.xml复制到工作区中,所以很明显 Ant 在那里找不到任何来源 . 他们仍然在我的项目总监之下,如果可能的话,我确实希望将他们留在那里 .

那么最好的方法是什么让这个设置工作?工作区在一边,我的项目在另一边?

谢谢!

编辑:我想要的甚至可能吗?

5 回答

  • 0

    不要使用“现有Ant构建文件中的Java项目”,而只需创建一个简单的“Java项目” . 在向导中,取消选中“使用默认位置”并输入到现有项目的顶级目录(即build.xml所在的位置)的路径(或浏览) . 是的,eclipse将在项目目录中创建.project和.classpath文件(如果它们尚不存在),但项目将保留在eclipse工作区之外 .

    举个例子,这个设置在独立系统的非常特殊的情况下非常有效,其中源树位于公共位置,但每个用户在受保护的位置具有工作空间 . 使用上述方法,该系统的每个用户都可以在自己的eclipse工作区中创建项目,执行ant目标,然后从他们自己的工作区中删除项目,而不会影响其他用户的工作区 .

  • 0
  • 1

    我一直这样做(诚然使用maven,而不是 Ant ),但同样的原则适用 .

    如果Eclipse中有现有项目(源树中有.project),则可以导入项目 - >导入现有项目 . 出现对话框时,您可以选择“将项目复制到工作区” . 确保取消选中此项并将其导入 .

    您仍然将.project存储在原始源代码树中,但这就是全部 .

    所以现在我有

    • code / xxx(包含.java文件,在SVN中)

    • code / xxx-workspace(包含eclipse工作区)

  • 2

    我一直在C项目中这样做(没有Java,抱歉,但我认为这个概念是可移植的) .

    我的工作区在〜/ workspaces / 中 . 我在〜/ {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 .

  • 10

    没有必要尝试使用相同的源文件集来避免Ant和Eclipse . 事实上,他们使用同一套可能更好 .

    请记住,你实际上并没有混合任何东西 . 只有一组源文件,然后有两种不同的构建方式; Ant和Eclipse . 这些构建器彼此独立,因此与Eclipse耦合没有问题 . 您甚至可以愉快地将所有eclipse文件(.classpath,.project,.settings)提交给源代码控制,而不会影响使用其他IDE的任何开发人员 .

相关问题