9

我正在尝试为我正在处理的 Java 项目建立一个持续集成系统。我计划在前端使用 Jenkins 或类似的东西。Java 项目配置为使用 IntelliJ IDEA IDE,版本 11。问题是无法从命令行界面构建 IntelliJ IDEA 11 项目,这是必需的,以便它可以与 CI 前端 (Jenkins) 交互.

我研究过几个潜在的解决方案。它们如下。

潜在的解决方案#1

使用 IntelliJ IDEA 的“生成 Ant 构建”功能。这个解决方案有两个问题:

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

潜在的解决方案#2

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

一些附加说明

此链接表明其他人也有类似的问题并想要一个命令行界面(该链接是对竞赛所需插件的描述 - 来源是 IntelliJ IDEA 本身)。

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

4

2 回答 2

6

将您的项目转换为适合 maven 比自定义 Maven 以适应您的项目结构更容易。

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

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

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

于 2012-05-03T04:54:05.180 回答
0

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

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

TeamCity 用作常春藤存储库。所以你不必设置神器。

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

据记录,很少有 IDE 能很好地处理 Maven 项目。IntelliJ 做得不错。

于 2012-05-05T14:23:14.440 回答