我在Eclipse工作区中有许多相互依赖的项目。 Eclipse在IDE中管理它们之间的依赖关系,但我开始处理主构建脚本,该脚本将位于关于所有项目(工作区文件夹)的文件夹中。
我还没决定是否要使用Maven,Gradle或Ant / Ivy tet,但我的问题是,有没有办法让我可以在Project / Package资源管理器的工作区文件夹中看到构建脚本?目前它只显示我的项目,但假设我决定使用Ant构建,我希望能够在此窗口中看到主build.xml文件。
我玩过设置无济于事。可能吗?如果没有,我应该只设置一个外部运行配置吗?
答案 0 :(得分:1)
除非它是项目的一部分,否则无法在Package explorer / Navigator视图中查看该文件。
一些替代选择:
如果您正在使用Ant,则可以像您所说的那样在外部工具下创建启动配置。 Maven有一个与Eclipse不同的项目结构,尽管你可以覆盖它。 Eclipse中有一个Maven plugin。
答案 1 :(得分:1)
我从未听说过在Eclipse Workspace级别创建文件的方法。
我们的Ant解决方案是Workspace中的一个额外(非Java-)项目,其中所有其他(Java-)项目都有build.xml
。
为了能够访问其他项目中的build.xml
个文件,您可以编辑启动配置(使用右键单击 - &gt; 运行方式 - &gt; Ant构建... < / em>的)。转到 Main 选项卡,选择Workspace-root-directory作为基本目录(使用Button 浏览文件系统... )。
作为外部构建(以及测试,代码检查,源代码存储库......)解决方案,我建议组合使用
答案 2 :(得分:1)
将构建文件直接放在工作区文件夹中是一个非常糟糕的主意,原因很多,这就是为什么这样做似乎是不可能的。工作区就是..项目容器。
我认为有两种方法可以解决你的问题:
1 - 创建一个与工作区具有相同目的的主项目。然后将所有项目作为此项目文件夹的子文件夹移动。您将拥有所需的文件夹结构。要修复项目结构并返回工作区中的每个项目,可以使用导入功能并导入现有项目。确保不在导入的工作空间选项中选择复制。这将允许您在工作区文件夹中拥有一个项目,该项目实际上并不直接位于工作区中。较新版本的eclipse将正确处理这样的嵌套项目,旧版本不能。请注意,此技术也适用于非工作区子文件夹的项目,它们可以位于硬盘驱动器的任何位置,并且仍显示在eclipse工作区UI中。
2 - 另一种选择是创建一个主项目,但将所有内容保留在同一级别(不要将项目组件放在项目文件夹中)然后安排构建脚本以通过相对路径引用其他项目。请注意,对于某些构建工具,这甚至不是必需的,因为它们将查看其存储库。
我在使用Ant和Maven的构建中成功使用了这两种布局。要尽快尝试Ivy,Maven就像祝福一样痛苦。很可能是Ant-Ivy组合还没有。
在个人注释中,我认为第二种选择更适合可扩展性。由于所有项目都处于同一级别,因此可以更轻松地在其他主项目中重用组件项目,而无需例外。基本上你最终有两种类型的项目。作为应用程序构建块的实际代码项目以及创建最终成品的程序集项目。这样,您就可以在产品和项目的构建机制之间实现良好的分离。这是另一种方式,maven激怒了我,因为许多选项我们必须把它们放在项目继承的主POM中。现在,为了在不同的项目中略微不同地构建东西,必须增加主POM的特定性。我更倾向于把它放在主项目中,而不是把它传播到整个地方。
无论如何,我的2美分,我希望这会有所帮助。