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

如何自动化IntelliJ IDEA 11项目的Java构建过程?,java,intellij-idea,continuous-integration,build-automation,Java,Intellij Idea,Continuous Integration,Build Automation,我正试图为我正在从事的一个Java项目建立一个持续集成系统。我计划在前端使用Jenkins或其他类似产品。Java项目被配置为使用IntelliJ IDEA,版本11。问题是无法从命令行界面构建IntelliJ IDEA 11项目,这是它与CI前端(Jenkins)接口所必需的 我已经研究了几个潜在的解决方案。具体如下 潜在解决方案#1 使用IntelliJ IDEA的“生成蚂蚁构建”功能。此解决方案有两个问题: 这意味着我必须维护生成的ant文件以及IntelliJ idea配置文件,我不想这

我正试图为我正在从事的一个Java项目建立一个持续集成系统。我计划在前端使用Jenkins或其他类似产品。Java项目被配置为使用IntelliJ IDEA,版本11。问题是无法从命令行界面构建IntelliJ IDEA 11项目,这是它与CI前端(Jenkins)接口所必需的

我已经研究了几个潜在的解决方案。具体如下

潜在解决方案#1 使用IntelliJ IDEA的“生成蚂蚁构建”功能。此解决方案有两个问题:

  • 这意味着我必须维护生成的ant文件以及IntelliJ idea配置文件,我不想这样做,或者我必须定期或动态地通过编程重新创建ant文件,这是不可行的,因为也没有用于此操作的命令行界面
  • 反正都不行。该项目相当复杂,因为存在配置为排除的Java文件,并且生成的ant文件不能正确执行排除。而且,看起来依赖项甚至没有正确生成。(详尽地)搜索google告诉我,IntelliJ甚至不支持这个工具,应该“避免”使用它
  • 潜在解决方案#2 使用第三方应用程序动态生成ant构建文件,即。当我看到这个项目时,我非常兴奋,但不幸的是,它看起来自2009年以来就没有更新过,并且不能与IntelliJ IDEA的新版本一起工作。我找不到任何其他像这一个是最新的和工作的图书馆

    一些补充说明 表明其他人也有类似的问题,并希望有一个命令行界面(链接是一个竞赛所需插件的描述-来源是IntelliJ IDEA本身)


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

    将项目转换为适合maven比定制maven以使用项目结构更容易

    尽管您可以使用后者,但大多数情况下,人们根本不会设计出清晰的项目布局方式,并且在采用maven布局后,他们的项目变得更易于管理

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


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

    您可以使用TeamCity来构建IntelliJ项目。这工作很好,是自动化的,并且有许多插件可以让您运行命令行任务、ant任务等

    这是我经常使用的工作流之一

    TeamCity作为常春藤资源库发挥作用。所以你不必建立人工工厂

    不过我确实喜欢maven。这完全取决于你的需要。只要你想用Maven的方式做事,Maven是很棒的——这是一个非常好的工作流


    记录在案的是,很少有IDE能够很好地处理Maven项目。IntelliJ做得不错。

    也许可以试试Maven项目?我发现管理pom.xml比管理复杂的ant构建要容易得多。@MadcoreTom感谢您的回复。在这种情况下,我将如何使用Maven项目?同样的问题也存在:我无法将IntelliJ IDEA项目导出/转换为Maven项目。这是一个手动过程,需要您将所有外部依赖项和构建任务等放入
    pom.xml
    文件中。然后可以从命令行运行maven,Jenkins也可以很好地与它集成。您可以通过添加新的运行配置从IntelliJ构建它。也许其他人可以详细说明这个过程。谢谢你提供更多的细节。看来maven是个不错的选择。