简短版
在JEE6应用程序的上下文中:在开发人员工作站中仍然使用IDE时,在专用构建服务器(用于CI /集成测试)中设置独立于IDE的主构建过程的最佳方法是什么?哪种Java IDE更适合这种方法?
LONG VERSION :
我们正在构建一个 JSF2 / PrimeFaces / EJB3.1 JEE6 应用程序,以部署在 JBoss 应用程序服务器上。我们需要使用 Ant 脚本在专用计算机中生成 EAR , WAR 和 JAR 工件,并且以CI方式进行集成测试(可能使用Jenkins)。
还要求团队使用Java IDE(仅限一种,不必担心)。因此,开发人员将使用他们自己的本地安装的IDE生成用于自己的测试和开发的本地文物。但是,我希望构建服务器上的主构建脚本独立于任何IDE。如果团队使用的IDE无法接受并与外部提供的 Ant 脚本紧密集成,则可能导致主 Ant 构建脚本不同且将具有的情况独立维护和发展。理想情况下,我希望开发人员的IDE和构建服务器都能使用 相同的手工制作的 构建脚本。在这样的设置中,如果开发人员认为需要修改 Ant 脚本,则修改通过CI服务器 git / svn 进行,并且用于后续构建。我强调“手工制作”,例如,在NetBeans的情况下,我不想使用从IDE自动创建的 Ant 构建脚本。看看这种方法必须处理的令人难以置信的细枝末节(我宁愿避免),here。
因此,我想知道您认为哪个主要Java IDE(Eclipse,Netbeans,IntelliJ IDEA,其他?)更容易接受外部提供的Ant脚本作为“项目定义”并与其紧密集成(在自动完成和调试,添加库等方面)。 this SO article中的讨论似乎相关,但情况并不完全相同,因为我的团队不会使用两个不同的IDE。最后,我了解 Maven 可能提供解决方案,因为NetBeans可以使用基于Maven的项目,其中 Maven pom.xml 是< / strong>项目文件和一个不必处理其他IDE特定的文物,但网上有足够的 Maven FUD(我不引用我不想要的来源)我认为,如果没有任何重大的事先接触它,我会觉得将它用于一项重大事业是不合适的。