2010-06-22 59 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