2010-06-22 62 views
0

我们如何定义术语“部署软件包”?软件包部署最佳定义

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

+0

你从哪里找到术语“部署软件包”?在Java包的世界中有一个非常明确的含义,与部署无关。在非Java世界中,软件包往往是一个更宽松的术语,也许意味着组件。 – djna 2010-06-22 08:00:36

回答

1
1

我会从“部署”中分离出“构建”。构建将采用源代码并构建可部署的人造物。在这种情况下,我们有一些.java文件,我们将它们编译为.class文件并(通常)将它们放入JAR中。 JAR是我们部署的东西。在Java EE中,我们可能会更进一步,并将几个JAR(和WAR ...)放入EAR中并进行部署。

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

实际上,我们经常发现进行部署比将JAR放到一个Classpath上还要多一点。你经常发现你需要:

  1. 删除以前的JAR版本,如果发生什么不好的事情,可能会继续准备恢复。
  2. 提供其他资源,例如。数据库
  3. 运行某种测试
  4. 重新启动相关组件
  5. 保留的审计线索国税发部署

在不平凡的情况下,它往往很做一些环境的具体配置

  • 验证部署这对使用脚本自动执行这些步骤很有用。

  • 2

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

    这取决于你正在谈论的那种软件包以及你在谈论什么样的部署。

    例如,您可能不会谈论部署Java包,因为Java包通常不是一个明智的“部署单元”。 (通常你会部署一个Java应用程序或webapp,或者可能是一个Java库,并且在Maven的环境中,你会部署一个“神器”。)

    如果你不是在谈论一个Java包,包你在说什么?

    是正确地说,部署包手段,使我们在其中创建一个过程,放入一个文件系统位置,使他们的编译器与像-classpath CLASSPATH等选项的VM可见??? ?

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

    +0

    没问题,但我们通常可以断言类似的部署方式在维基百科中定义如下: “软件部署是使软件系统可供使用的所有活动” 所以包部署方式使它们可用于编译器/ JVM或者JAR档案中的其他人使用? – xdevel2000 2010-06-22 07:12:28

    +0

    JAR文件可能是一个独立的部署单元,清单可能会指示要运行的主体。 JAR文件可能包含要部署的重用组件,以便应用程序可以使用它。不需要成为JAR去的标准位置,只是特定部署目标中的商定位置。 – djna 2010-06-22 07:26:59

    +0

    @djna - 那是真的,但是我们正在部署一种(特殊类型的)JAR文件,而不是Java包。 – 2010-06-22 07:45:15