代码之家  ›  专栏  ›  技术社区  ›  janetsmith

我们应该在CVS/SVN中存储JRE吗?

  •  1
  • janetsmith  · 技术社区  · 17 年前

    7 回复  |  直到 17 年前
        1
  •  7
  •   Franci Penov    17 年前

    我通常主张将大部分内容都放在源代码控制中,但这似乎有点过分。为什么?

    1. http://java.sun.com
        2
  •  4
  •   Stephen C    17 年前

    我不会将JDK或JRE放入源代码库:

    • 对某些版本控制系统来说,将二进制文件放入版本控制是一个坏主意。

    • 他们需要知道 他们可以安装多个 一台机器上的JRE版本,以及 配置应用程序以使用JRE启动 他们需要的版本。(这是微不足道的 在Linux上…)
    • 他们需要知道这个事实 他们的政策是一种潜在的安全 在随机位置拥有JDK/JRE的副本, 很难确保JRE的安全性 到了生命的尽头就会变得平静和安全 它的补丁将停止。)

        3
  •  2
  •   Joshua Partogi    17 年前

    作为最佳实践,您不应该在源代码管理系统中保留任何二进制文件。对于Java开发人员来说,maven在jar文件的版本控制方面做得更好。原因是我们想让我们的源代码库尽可能小,这样对于那些第一次签出我们代码的人来说更快。

        4
  •  0
  •   ykaganovich Mike Samuel    17 年前

    然而,不管你做不做都不重要,只要你的脚本能把它作为构建的一部分。例如,如果您希望托管可下载的jre.zip文件在HTTP服务器上,或者在Maven repo中指向它,都一样好。

        5
  •  0
  •   Martin    17 年前

    如果您希望客户在运行JRE之前编译代码,那么您的客户机是否准备好了JRE?JDK包含JRE。

        6
  •  0
  •   Thorbjørn Ravn Andersen    17 年前

    这在很大程度上取决于处理依赖关系的方法。如果您使用Maven,那么创建一个包含所需内容的Maven包,并将其托管在本地存储库中。

    如果你只有CVS(像我们一样),那么最好创建大的二进制包(因为你需要它们),然后你可以把它们放到CVS中。要知道,为了获得最佳的CVS性能,它们应该是静态的。

    还要注意,jsmooth包可以为jar创建一个嵌入JRE的EXE文件。这可能会解决您的部署问题。

        7
  •  0
  •   Jeroen van Bergen    17 年前

    我想知道客户自己构建应用程序的情况。它需要某种Java编译器,很可能javac是JDK的一部分。因此,您的客户机不仅需要JRE,还需要JDK(除非他们将使用Jikes或其他替代编译器)。

    javac能够为Java的早期版本生成字节码,因此使用更新的编译器不会带来任何问题。