页面树结构
Skip to end of metadata
Go to start of metadata

任何级别的商业用户都可以访问 JIRA 的源代码。本主题说明如何将此源代码构建到可部署的 JIRA 应用程序中。

仅当您需要对 JIRA 的源代码进行大量修改并使用WAR 方法时,才需要从源代码构建所有 JIRA 。

在以下情况下,您不需要重建 JIRA:

  • 您需要更改许多 JSP 文件。JSP 文件是许多 JIRA 网页的模板文件。它们也可以更容易地直接在独立的 JIRA 安装目录中进行更改。
  • 创建一个为 JIRA 添加功能的 JIRA 插件。有关更多信息,请阅读JIRA 插件指南。JIRA 功能的更改和增强通常可以使用 JIRA 插件进行,而无需修改核心 JIRA 源代码。
  • 可以使用独立外部源目录中的说明重新编译少量源文件。

 在本页面:





(警告) 此页面上的信息不适用于JIRA OnDemand



从 JIRA 源版本构建 JIRA WAR 文件

  1. 确保您拥有 JDK 1.6 或更高版本安装了Subversion客户端。
  2. Maven 网站Apache 存档下载 Maven 2.1.0。目前,我们尚未测试使用 Maven 3 从源代码构建 JIRA。
    (警告)
  3. 将 Maven 提取到操作系统上的适当位置。例如,
    在 Windows 上,提取到:

    <font style="vertical-align: inherit;"><font style="vertical-align: inherit;">C:\apache-maven-2.1.0
    </font></font>

    在 Mac/Linux 上,解压到:

    <font style="vertical-align: inherit;"><font style="vertical-align: inherit;">/usr/local/apache-maven-2.1.0
    </font></font>

  4. 设置 M2_HOME 环境变量。例如,
    在 Windows 上:

    <font style="vertical-align: inherit;"><font style="vertical-align: inherit;">> 设置 M2_HOME=C:\apache-maven-2.1.0
    </font></font>

    或者,可以通过选择来配置 Windows 环境变量My Computer >> Properties >> Advanced >> Environment Variables

    在 Mac/Linux 上:

    <font style="vertical-align: inherit;"><font style="vertical-align: inherit;">导出 M2_HOME=/usr/local/apache-maven-2.1.0
    </font></font>

  5. 将 Maven 的 bin 目录添加到您的路径。例如,
    在 Windows 上:

    <font style="vertical-align: inherit;"><font style="vertical-align: inherit;">> 设置 PATH=%M2_HOME%\bin
    </font></font>

    My Computer >> Properties >> Advanced >> Environment Variables如果您愿意,您可以再次设置此选项。

    在 Mac/Linux 上:

    <font style="vertical-align: inherit;"><font style="vertical-align: inherit;">导出 PATH=$PATH:$M2_HOME/bin
    </font></font>

  6. 将以下所有受限第三方 ( .jar) 库安装到本地 Maven 存储库 ( .m2),确保下载下面指定的版本。从源代码成功构建 JIRA 需要所有这些库。如果缺少这些库中的任何一个,则构建过程将失败。
    (信息)由于许可限制,我们无法从 Atlassian 的公共 Maven 存储库分发这些第三方库。如果您已经从源代码构建了以前版本的 JIRA,那么您可能已经在本地 Maven 存储库中拥有其中一些库。

    图书馆

    Maven groupId 和 artifactId

    版本

    下载网址

    激活

    javax.activation:激活

    1.0.2

    http://repository.jboss.org/nexus/service/local/repositories/deprecated/content/javax/activation/activation/1.0.2/activation-1.0.2.jar

    杰姆斯

    javax.jms:jms

    1.1

    http://repository.jboss.org/nexus/content/groups/public-jboss/javax/jms/jms/1.1/

    jmxri
     和
    jmxtools

    com.sun.jmx:jmxri
          和
    com.sun.jdmk:jmxtools

    1.2.1


    http://www.oracle.com/technetwork/java/javase/tech/download-jsp-141676.html

    (下载《JMX 1.2.1 参考实现》)

    金迪

    jndi:jndi

    1.2.1

    http://java.sun.com/products/jndi/downloads/index.html

    jta

    jta:jta

    1.0.1B


    http://www.oracle.com/technetwork/java/javaee/jta/index.html

    (下载“类文件 1.0.1B”)

    邮件

    javax.mail:邮件

    1.3.2

    http://www.oracle.com/technetwork/java/javamail-1-3-2-138617.html
    ojdbc6com.oracle:ojdbc611.2.0.2.0http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html(在“Oracle 数据库 11g 第 2 版 (11.2.0.2.0) JDBC 驱动程序”下下载“ojdbc6.jar”)


    要安装这些受限制的第三方库:

    1. 将每个(从上面的链接)下载到文件系统上的一个目录中,例如,downloads在您的主目录区域中。
      (警告)jmxri jmxtoolsjndijtamail库作为文件下载然后您可以将这些库安装到本地 Maven 存储库中,或者:.zip
      • .jar必须从中提取密钥文件或
      • 他们需要在.jar形式。
      1. 对于jmxrijmxtools
        • 在 Windows 上:
          使用 Windows 资源管理器进入目录并从文件的子目录中downloads提取jmxri.jar和文件。jmxtools.jarjmx-1_2_1-bin\libjmx-1_2_1-ri.zip
        • 在 Linux 上:

          cd $HOME/Downloads<font></font>
          unzip jmx-1_2_1-ri.zip jmx-1_2_1-bin/lib/jmxri.jar jmx-1_2_1-bin/lib/jmxtools.jar<font></font>

      2. 对于jndi
        • 在 Windows 上:
          使用 Windows 资源管理器进入downloads目录并jndi.jar从文件的lib子目录中提取jndi-1_2_1.zip文件。
        • 在 Mac/Linux 上:

          cd $HOME/Downloads<font></font>
          unzip jndi-1_2_1.zip lib/jndi.jar<font></font>

      3. 对于jta
        • 在 Windows 上:
          使用 Windows 资源管理器进入downloads目录并将jta-1_0_1B-classes.zip文件重命名为jta-1_0_1B-classes.jar
        • 在 Mac/Linux 上:

          cd $HOME/Downloads<font></font>
          mv jta-1_0_1B.zip jta-1_0_1B.jar<font></font>

      4. 对于邮件
        1. 在 Windows 上:
          使用 Windows 资源管理器进入 downloads 目录并 mail.jar 从文件的 javamail-1.3.2 子目录中 提取javamail-1.3.2.zip 文件。
        2. 在 Mac/Linux 上:

          cd $HOME/Downloads<font></font>
          unzip javamail-1.3.2.zip javamail-1.3.2/mail.jar<font></font>

    2. 下载、扩展和重命名这些库后,将它们安装到本地 Maven 存储库中。例如,在您的downloads 目录中,输入以下命令:

      mvn install:install-file -DgroupId=javax.activation -DartifactId=activation -Dversion=1.0.2 -Dpackaging=jar -Dfile=activation-1.0.2.jar<font></font>
      mvn install:install-file -DgroupId=javax.jms -DartifactId=jms -Dversion=1.1 -Dpackaging=jar -Dfile=jms-1.1.jar<font></font>
      mvn install:install-file -DgroupId=com.sun.jmx -DartifactId=jmxri -Dversion=1.2.1 -Dpackaging=jar -Dfile=jmxri.jar<font></font>
      mvn install:install-file -DgroupId=com.sun.jdmk -DartifactId=jmxtools -Dversion=1.2.1 -Dpackaging=jar -Dfile=jmxtools.jar<font></font>
      mvn install:install-file -DgroupId=jndi -DartifactId=jndi -Dversion=1.2.1 -Dpackaging=jar -Dfile=jndi.jar<font></font>
      mvn install:install-file -DgroupId=jta -DartifactId=jta -Dversion=1.0.1 -Dpackaging=jar -Dfile=jta-1_0_1B-classes.jar<font></font>
      mvn install:install-file -DgroupId=javax.mail -DartifactId=mail -Dversion=1.3.2 -Dpackaging=jar -Dfile=mail.jar<font></font>
      mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.2.0 -Dpackaging=jar -Dfile=ojdbc6.jar

  7. 从http://www.atlassian.com/software/jira/JIRASourceDownloads.jspa下载 JIRA 源档案。
    (信息)您需要以具有商业许可证的用户身份登录才能访问此页面。

  8. 将 JIRA 源存档解压缩到您选择的位置。这将创建一个名为 的子目录atlassian-jira-X.Y-source,其中 XY 是您的 JIRA 版本。例如,C:\atlassian-jira-4.3-source
  9. 通过执行以下 Maven 2 命令将目录更改为该子目录并构建 JIRA。例如,
    在 Windows 上:

    C:\atlassian-jira-4.3-source\> build.bat

    在 Mac/Linux 上:

    > build.sh

    构建脚本将从 Atlassian 的公共 Maven 存储库下载几个依赖项。

    但是,在极少数情况下,构建过程可能会失败,并且您可能会收到类似于 Atlassian 产品无法从 Atlassian 的公共 Maven 存储库安装插件时遇到的错误。此问题是由 JVM 无法访问其默认的“cacerts”文件引起的,该文件包含信任 Atlassian 的公共 Maven 存储库的证书。

    要解决此问题:

  10. 一个名为jira-webapp-dist-X.Y.war(其中 XY 是您的 JIRA 版本)的 WAR 文件将构建在jira-project/jira-distribution/jira-webapp-dist/target您提取的 JIRA 源目录的子目录中。

    例如,如果上面创建的子目录是C:\atlassian-jira-4.3-source,则 WAR 文件将位于:
    C:\atlassian-jira-4.3-source\jira-project\jira-distribution\jira-webapp-dist\target\jira-webapp-dist-4.3.war

    (信息)JIRA 源构建的解压版本也可以在jira-project/jira-distribution/jira-webapp-dist/target/jira-webapp-dist-X.Y提取的 JIRA 源目录的子目录中找到。
  11. 生成的 WAR 文件现在可以安装到您的应用程序服务器中,以运行您刚刚构建的 JIRA 应用程序。有关更多信息,请参阅JIRA WAR 配置概述。对于具体的安装说明,您可以按照以下步骤跳过第 1 和第 3 阶段:

使用 IDE 连接器进行开发

从IDE 连接器文档了解 IDE 连接器。

获取JIRA依赖的来源

从源代码构建 JIRA 时,Maven 将在构建过程中自动获取它需要的二进制(编译)依赖项,因此您不必手动进行(上述第三方库除外

值得注意的是,JIRA 的源码分发不仅附带了 JIRA 的源码,还包括了 JIRA 所依赖的内部 Atlassian 项目的源码(例如 atlassian-bonnie、atlassian-core 等)。当您构建 JIRA 时,这些内部 Atlassian 依赖项也是从源代码构建的。

Atlassian 的公共存储库中提供了其他依赖项。这些依赖项的来源通常可以在库的网站上找到(尝试搜索库名称),或者可以在相关库的SCM信息中识别。

如果您对构建过程有任何疑问,请在JIRA 开发论坛上发帖,该论坛由开发社区持续监控,并尽可能经常由 Atlassian 进行监控。

编译单类补丁

如果你只想编译一个类(可能是一个服务),我们有一个关于如何在 IDEA 中执行此操作的分步指南。有关详细信息,请参阅如何制作 JIRA 补丁


  • 无标签