延伸應用程式伺服器匯入架構

AppScan® Source 可讓您從 Apache Tomcat 及 WebSphere® Application Server Liberty 設定檔匯入 Java 應用程式。您可以如本主題所述,延伸應用程式伺服器匯入架構,以便從其他應用程式伺服器匯入 Java 應用程式。

執行這項作業的原因和時機

應用程式伺服器匯入架構所隨附的 API 文件沒有提供 PDF 格式。如果您透過 Adobe PDF 存取此說明主題,則只有利用下列方式才能存取 API 文件:啟動 AppScan® Source for Analysis 線上說明,並導覽至延伸產品功能 > 延伸應用程式伺服器匯入架構 > 應用程式伺服器匯入延伸 API 類別及方法,或在 http://help.hcl-software.com/appscan/Source/10.1.0/index.html 上找出該說明小節。

如果要延伸應用程式伺服器匯入架構,請完成下列步驟。這些步驟將引導您完成下列工作:

程序

  1. 針對 AppScan® Source 應用程式伺服器匯入架構所需的相依關係,配置 Eclipse 整合開發環境:
    1. 在 Eclipse 中,從主功能表選取視窗 > 喜好設定
    2. 在「喜好設定」對話框中,展開外掛程式開發,然後選取目標平台
    3. 在「目標平台」喜好設定頁面中,按一下新增,建立新的目標定義。
    4. 在「目標定義」精靈頁面中,選取無:從空的目標定義開始,然後按下一步
    5. 在「目標內容」精靈頁面的名稱欄位中,輸入目標的名稱,然後按一下新增,以新增 AppScan® Source 安裝目錄(請參閱安裝和使用者資料檔位置)。
    6. 選擇性的: 選取顯示位置內容,以驗證外掛程式可用。
    7. 按一下完成
    8. 在「目標平台」喜好設定頁面中,選取您剛建立的目標平台,再按套用。然後按確定
  2. 在 Eclipse 中建立新的外掛程式:
    1. 從主功能表中,選取檔案 > 新建專案,以開啟「新建專案」精靈。
    2. 在「選取精靈」頁面中,選取外掛程式專案,然後按下一步
    3. 在「外掛程式專案」頁面的專案名稱欄位中,輸入外掛程式的名稱(此說明主題使用 com.example.appserverimporter 作為範例),然後按下一步
    4. 在「內容」頁面中,取消選取產生啟動器,這是一個控制外掛程式生命週期的 Java 類別,然後按完成
  3. 在您剛建立的外掛程式中,設定必要的相依關係:
    1. 開啟 META-INF\MANIFEST.MF,然後選取相依關係標籤。
    2. 在編輯器的必要的外掛程式區段中,執行下列動作:
      • 按一下新增,然後新增 com.ouncelabs.core.appserverimporterorg.eclipse.core.runtime
      • 選取剛新增的 com.ouncelabs.core.appserverimporter 外掛程式,然後按一下內容。在外掛程式內容中,移除最低版本最高版本欄位中的任何項目,然後按一下確定
      • org.eclipse.core.runtime 外掛程式重複上述步驟。
    3. 從主功能表中,選取檔案 > 儲存,以儲存對編輯器所做的所有變更。
    4. 下一步是定義應用程式伺服器的延伸規格。在該步驟中,您將繼續使用 META-INF\MANIFEST.MF 編輯器。
  4. 遵循下列步驟,定義應用程式伺服器的匯入器延伸規格:
    1. 選取延伸標籤,然後按一下新增來新增 com.ouncelabs.appserver。接著,從主功能表中,選取檔案 > 儲存
    2. 選取 plugin.xml 標籤。內容應該類似如下:
      <?xml version="1.0" encoding="UTF-8"?>
      <?eclipse version="3.4"?>
      <plugin>
        <extension
          point="com.ouncelabs.appserver">
        </extension>
      </plugin>

      編輯此檔案來完成延伸規格定義。例如:

      <?xml version="1.0" encoding="UTF-8"?>
      <?eclipse version="3.4"?>
      <plugin>
        <extension
          point="com.ouncelabs.appserver">
          <importer
           class="com.example.appserverimporter.MyAppServerImporter"
           id="com.example.appserverimporter.myappserver"
           name="My App Server">
         </importer>
       </extension>
      </plugin>
    3. 從主功能表中,選取檔案 > 儲存,儲存對 plugin.xml 所做的變更。
  5. 建立匯入器類別(此範例中為 com.example.appserverimporter.MyAppServerImporter),以定義新應用程式伺服器匯入器的行為。此類別必須延伸 BaseAppServerImporterBaseAppServerImporter,這是架構對 AppServerImporterAppServerImporter 介面的基本實作。在此類別中:
    1. 實作 AppServerImporter.importAppServer(String)。架構會使用此實作來決定要匯入的 Java EE 專案及其所在位置。一般而言,每一個專案只需要 Java EE 專案的名稱及路徑。如果建立 EAR 專案,則在 AppScan® Source 使用者介面中選取專案時,包含的 Java EE 專案會隱藏。在此情況下,將匯入整個 EAR。否則會列出所有專案供個別選取。

      強烈建議盡可能使用這些方法:

      • BaseAppServerImporter.processDropInsFolder(AppServerProfile, File)
      • BaseAppServerImporter.processEARFile(AppServerProfile, File)
    2. 實作 AppServerImporter.isValidLocation(String)。這用來偵測伺服器的類型(根據安裝目錄)。
    3. 選擇性的: 覆寫 BaseAppServerImporter.getJSPCompilerType()。此方法會傳回要用於 AppScan® Source 專案的 JSP 編譯器。如果未這樣做,則基本實作會傳回空值,且會使用產品的預設 JSP 編譯器。
  6. 選擇性的: 在進階選項上,您可以自訂 JSP 編譯來使用經過前置編譯的 JSP 編譯器(將於匯入之前或期間進行 JSP 編譯):
    1. 覆寫 BaseAppServerImporter.getJSPCompilerType() 以傳回 JSPCompilerType.PRECOMPILED
    2. 覆寫 BaseAppServerImporter.getJSPCompilerType(),以呼叫 JMX、Java API、外部 Script 來編譯 JSP 檔,或直接將類別檔複製到 AppScan® Source 專案的暫置目錄。請使用 Application.getStagingDirectory(Project)Application.getStagingDirectory(Project) 來取得暫置目錄。
    3. 覆寫 BaseAppServerImporter.createJSPCompilerSupport() 以傳回 JSPCompilerSupportJSPCompilerSupport 的自訂延伸。這用於持續保存 JSP 檔與產生的類別檔之間的對映 - 以及在 JSP 編譯之後驗證。
    4. 覆寫 BaseAppServerImporter.createClasspathProvider() 以傳回 AppServerClasspathProviderAppServerClasspathProvider 的自訂實作。需要此類別,才能編譯任何對伺服器程式庫具有相依關係的 Java 或 JSP 檔。此類別必須延伸 BaseAppServerClasspathProviderBaseAppServerClasspathProvider。請注意,呼叫 getClasspathEntries() 時,BaseAppServerClasspathProvider.installDirectory 已設為應用程式伺服器的安裝目錄。
  7. 遵循下列步驟來測試外掛程式:
    1. 從主功能表中,選取執行 > 執行配置(或者,如果您要在除錯模式下測試,則選取執行 > 除錯)。
    2. 建立新的 Eclipse 應用程式配置。
      • 移至新配置的主要標籤。在執行的程式區段中,選取執行產品,然後設為執行 com.ouncelabs.osa.rcp.product
      • 移至引數標籤。在工作目錄區段中,選取其他,然後在欄位中輸入 AppScan® Source 資料目錄(請參閱安裝和使用者資料檔位置)。
      • 外掛程式標籤中,將啟動工具選項設為僅以下選取的外掛程式。展開工作區,確定已選取您建立的外掛程式,然後在目標平台下取消選取這些外掛程式:
        • com.ouncelabs.plugin.base
        • com.ouncelabs.plugin.base
        • com.ouncelabs.plugin.base.nl
        • com.ouncelabs.plugin.base.nl
        • com.ouncelabs.plugin.enhanced
        • com.ouncelabs.plugin.enhanced
        • com.ouncelabs.plugin.enhanced.nl
        • com.ouncelabs.plugin.enhanced.nl
    3. 在「執行配置」對話框中按一下執行之前,請移至 AppScan® Source 安裝目錄並執行 bin\OunceScanner.exe
    4. 回到「執行配置」對話框,按一下執行來啟動 AppScan® Source for Analysis 並測試外掛程式。
  8. 遵循下列步驟,對 AppScan® Source for Analysis 啟用外掛程式:
    1. 用滑鼠右鍵按一下專案並選取匯出
    2. 在「匯出」精靈的「選取」頁面中,展開外掛程式開發,選取可部署的外掛程式及片段,然後按下一步
    3. 在「可部署的外掛程式及片段」頁面中:
      • 移至目的地標籤,然後瀏覽至機器上的暫存目錄來設定目錄
      • 移至選項標籤,選取將外掛程式包裝為個別的 JAR 封存限定元取代
      • 按一下完成
    4. 找出作為外掛程式匯出目的地的暫存目錄,然後開啟其 plugins\ 資料夾。在此資料夾中,找出已建立的 .jar 檔並將其複製到 <install_dir>\dropins(其中 <install_dir>AppScan® Source 安裝位置
      註:
      • 如果 \dropins 目錄不存在,則需要手動建立。
      • 變更 AppScan® Source 安裝目錄可能需要管理專用權。
    5. 找出 <install_dir>\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info。備份此檔案 - 然後編輯檔案,在尾端新增下列程式碼:
      <my_plugin>,<my_plugin_version>,
      dropins/<my_plugin>_<my_plugin_version>.jar,4,false
      <my_plugin>,<my_plugin_version>,dropins/<my_plugin>_<my_plugin_version>.jar,4,false

      其中:

      • <my_plugin> 是您建立的外掛程式名稱。
      • <my_plugin_version> 是您建立的外掛程式版本號碼。
      註: 在此項目的開頭,<my_plugin><my_plugin_version>dropins/ 位置以逗點 (,) 區隔。
    6. 啟動 AppScan® Source for Analysis
    7. 從主功能表中,選取說明 > 關於AppScan® Source for Analysis ,然後按一下安裝詳細資料。選取外掛程式標籤,並確定其中已列出您的外掛程式。
    8. 關閉「安裝詳細資料」對話框,開始使用您的應用程式伺服器匯入架構。