如何自动化IntelliJ IDEA 11项目的Java构建过程?

mpi*_*lar 9 java build-automation continuous-integration intellij-idea

我正在尝试为我正在开发的Java项目建立一个持续集成系统.我计划在前端使用Jenkins或一些等价物.Java项目配置为使用IntelliJ IDEA IDE,版本11.问题是无法从命令行界面构建IntelliJ IDEA 11项目,这是必需的,因此它可以与CI前端接口(Jenkins) .

我已经研究过几种可能的解决方案.它们如下.

潜在的解决方案#1

使用IntelliJ IDEA的"生成Ant构建"功能.此解决方案存在两个问题:

  1. 这意味着我必须维护生成的ant文件以及我不想做的IntelliJ构思配置文件,否则我将不得不定期或动态地以编程方式重新创建ant文件,这是不可行的因为这也没有命令行界面.
  2. 它无论如何都不起作用.该项目相当复杂,因为有些Java文件被配置为被排除,并且生成的ant文件不能正确执行排除.此外,看起来甚至没有正确生成依赖项.(彻底地)搜索谷歌告诉我,IntelliJ甚至不支持这个实用程序,它的使用应该"避免".

潜在的解决方案#2

使用第三方应用程序动态生成ant构建文件,即ant-intellij-tasks.当我看到这个项目时,我非常兴奋,但不幸的是它看起来自2009年以来一直没有更新,并且不适用于新版本的IntelliJ IDEA.我找不到像这样的任何其他最新和有效的库.

一些附加说明

此链接表明其他人遇到类似问题并且需要命令行界面(该链接是对比赛所需插件的描述 - 源代码是IntelliJ IDEA本身).

有没有其他人使用此工具集设置构建自动化?你是怎么做到的?我正在寻找的答案理想情况下不需要管理其他配置文件,并允许我在命令行上键入内容并进行构建.

ian*_*man 6

将项目转换为适合maven比自定义Maven以处理项目结构更容易.

虽然你可以做后者,但大多数时候人们根本不设计他们的项目布局非常干净,并且在他们采用maven布局之后,他们的项目变得更易于管理.

如果您调整默认maven项目布局的良好模式,IDEA将自动读取并完全理解它 - 甚至共享您在IDE中的命令行上使用的相同编译器输出.IDEA将使用pom.xml作为其配置文件.

你不能用Ant做这件事,因为它是一个构建过程包装器.Maven不仅是一种依赖管理机制 - 它是一个项目的抽象,IDE可以用它来配置自己.