包部署最佳定义

时间:2010-06-22 06:19:05

标签: java deployment packages

我们如何定义术语“部署包”?

说部署包意味着制作程序是正确的 我们在其中创建,放入文件系统位置并使其可见 编译器一个具有-classpath CLASSPATH等选项的VM?

3 个答案:

答案 0 :(得分:2)

  

我们如何定义术语“部署包”?

这取决于您所谈论的那种软件包以及您正在谈论的部署类型。

例如,您可能不会谈论部署Java包,因为Java包通常不是一个合理的“部署单元”。 (通常,您将部署Java应用程序或Web应用程序,或者可能部署Java库。在Maven的上下文中,您将部署“工件”。)

如果您不是在谈论Java包,那么您正在谈论 的那种包?

  

正确地说,部署一个包意味着创建一个我们创建的过程,放入一个文件系统位置并让它们对编译器可见一个带有-classpath CLASSPATH等选项的VM

这对我来说听起来不像传统的部署定义。首先,没有要部署(例如)JAR文件的标准文件系统位置。

答案 1 :(得分:1)

答案 2 :(得分:1)

我将“build”与“deploy”分开。构建将获取源代码并构造可部署的人工制品。在这种情况下,我们有一些.java文件,我们将它们编译为.class文件,并且(通常)将它们放在JAR中。 JAR是我们部署的东西。在Java EE中,我们可以更进一步,将几个JAR(和WAR ...)放入EAR并进行部署。

因此,部署使可部署的artefact可在运行时环境中执行,在这种情况下,使JAR对选定的JVM可见。很可能你可能有很多运行时环境,很多客户,很多机器。你构建一次,多次部署。

在实践中,我们经常发现进行部署不仅仅是将JAR放到Classpath上。您经常发现需要:

  1. 删除以前版本的JAR,如果发生了不好的事情,可能会保持准备好恢复。
  2. 提供其他资源,例如。数据库
  3. 执行某些特定于环境的配置
  4. 通过运行某种测试来验证部署
  5. 重新启动相关组件
  6. 保留部署的审计跟踪
  7. 在非平凡的情况下,使用脚本自动执行这些步骤通常非常有用。