AppScan® Source 可讓您從 Apache Tomcat 及 WebSphere® Application Server Liberty 設定檔匯入 Java™ 應用程式。您可以如本主題所述,延伸應用程式伺服器匯入架構,以便從其他應用程式伺服器匯入 Java™ 應用程式。
執行這項作業的原因和時機
應用程式伺服器匯入架構所隨附的 API 文件沒有提供 PDF 格式。如果您透過 Adobe™ PDF 存取此說明主題,則只有利用下列方式才能存取 API 文件:啟動 AppScan® Source for Analysis 線上說明,並導覽至,或在 http://help.hcl-software.com/appscan/Source/10.1.0/index.html 上找出該說明小節。
如果要延伸應用程式伺服器匯入架構,請完成下列步驟。這些步驟將引導您完成下列工作:
程序
- 針對 AppScan® Source 應用程式伺服器匯入架構所需的相依關係,配置 Eclipse 整合開發環境:
- 在 Eclipse 中,從主功能表選取。
- 在「喜好設定」對話框中,展開外掛程式開發,然後選取目標平台。
- 在「目標平台」喜好設定頁面中,按一下新增,建立新的目標定義。
- 在「目標定義」精靈頁面中,選取無:從空的目標定義開始,然後按下一步。
- 在「目標內容」精靈頁面的名稱欄位中,輸入目標的名稱,然後按一下新增,以新增 AppScan® Source 安裝目錄(請參閱安裝和使用者資料檔位置)。
- 選擇性的: 選取顯示位置內容,以驗證外掛程式可用。
- 按一下完成。
- 在「目標平台」喜好設定頁面中,選取您剛建立的目標平台,再按套用。然後按確定。
- 在 Eclipse 中建立新的外掛程式:
- 從主功能表中,選取,以開啟「新建專案」精靈。
- 在「選取精靈」頁面中,選取外掛程式專案,然後按下一步。
- 在「外掛程式專案」頁面的專案名稱欄位中,輸入外掛程式的名稱(此說明主題使用
com.example.appserverimporter
作為範例),然後按下一步。
- 在「內容」頁面中,取消選取產生啟動器,這是一個控制外掛程式生命週期的 Java 類別,然後按完成。
- 在您剛建立的外掛程式中,設定必要的相依關係:
- 開啟 META-INF\MANIFEST.MF,然後選取相依關係標籤。
- 在編輯器的必要的外掛程式區段中,執行下列動作:
- 按一下新增,然後新增 com.ouncelabs.core.appserverimporter 和 org.eclipse.core.runtime。
- 選取剛新增的 com.ouncelabs.core.appserverimporter 外掛程式,然後按一下內容。在外掛程式內容中,移除最低版本和最高版本欄位中的任何項目,然後按一下確定。
- 對 org.eclipse.core.runtime 外掛程式重複上述步驟。
- 從主功能表中,選取,以儲存對編輯器所做的所有變更。
- 下一步是定義應用程式伺服器的延伸規格。在該步驟中,您將繼續使用 META-INF\MANIFEST.MF 編輯器。
- 遵循下列步驟,定義應用程式伺服器的匯入器延伸規格:
- 選取延伸標籤,然後按一下新增來新增
com.ouncelabs.appserver
。接著,從主功能表中,選取。
- 選取 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>
- 從主功能表中,選取,儲存對 plugin.xml 所做的變更。
- 建立匯入器類別(此範例中為
com.example.appserverimporter.MyAppServerImporter
),以定義新應用程式伺服器匯入器的行為。此類別必須延伸 BaseAppServerImporter
BaseAppServerImporter
,這是架構對 AppServerImporter
AppServerImporter
介面的基本實作。在此類別中:
- 實作
AppServerImporter.importAppServer(String)
。架構會使用此實作來決定要匯入的 Java™ EE 專案及其所在位置。一般而言,每一個專案只需要 Java™ EE 專案的名稱及路徑。如果建立 EAR 專案,則在 AppScan® Source 使用者介面中選取專案時,包含的 Java™ EE 專案會隱藏。在此情況下,將匯入整個 EAR。否則會列出所有專案供個別選取。 強烈建議盡可能使用這些方法:
BaseAppServerImporter.processDropInsFolder(AppServerProfile, File)
BaseAppServerImporter.processEARFile(AppServerProfile, File)
- 實作
AppServerImporter.isValidLocation(String)
。這用來偵測伺服器的類型(根據安裝目錄)。
- 選擇性的: 覆寫
BaseAppServerImporter.getJSPCompilerType()
。此方法會傳回要用於 AppScan® Source 專案的 JSP 編譯器。如果未這樣做,則基本實作會傳回空值,且會使用產品的預設 JSP 編譯器。
- 選擇性的: 在進階選項上,您可以自訂 JSP 編譯來使用經過前置編譯的 JSP 編譯器(將於匯入之前或期間進行 JSP 編譯):
- 覆寫
BaseAppServerImporter.getJSPCompilerType()
以傳回 JSPCompilerType.PRECOMPILED
。
- 覆寫
BaseAppServerImporter.getJSPCompilerType()
,以呼叫 JMX、Java™ API、外部 Script 來編譯 JSP 檔,或直接將類別檔複製到 AppScan® Source 專案的暫置目錄。請使用 Application.getStagingDirectory(Project)
Application.getStagingDirectory(Project)
來取得暫置目錄。
- 覆寫
BaseAppServerImporter.createJSPCompilerSupport()
以傳回 JSPCompilerSupport
JSPCompilerSupport
的自訂延伸。這用於持續保存 JSP 檔與產生的類別檔之間的對映 - 以及在 JSP 編譯之後驗證。
- 覆寫
BaseAppServerImporter.createClasspathProvider()
以傳回 AppServerClasspathProvider
AppServerClasspathProvider
的自訂實作。需要此類別,才能編譯任何對伺服器程式庫具有相依關係的 Java™ 或 JSP 檔。此類別必須延伸 BaseAppServerClasspathProvider
BaseAppServerClasspathProvider
。請注意,呼叫 getClasspathEntries()
時,BaseAppServerClasspathProvider.installDirectory
已設為應用程式伺服器的安裝目錄。
- 遵循下列步驟來測試外掛程式:
- 從主功能表中,選取(或者,如果您要在除錯模式下測試,則選取)。
- 建立新的 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
- 在「執行配置」對話框中按一下執行之前,請移至 AppScan® Source 安裝目錄並執行 bin\OunceScanner.exe。
- 回到「執行配置」對話框,按一下執行來啟動 AppScan® Source for Analysis 並測試外掛程式。
- 遵循下列步驟,對 AppScan® Source for Analysis 啟用外掛程式:
- 用滑鼠右鍵按一下專案並選取匯出。
- 在「匯出」精靈的「選取」頁面中,展開外掛程式開發,選取可部署的外掛程式及片段,然後按下一步。
- 在「可部署的外掛程式及片段」頁面中:
- 移至目的地標籤,然後瀏覽至機器上的暫存目錄來設定目錄。
- 移至選項標籤,選取將外掛程式包裝為個別的 JAR 封存及限定元取代。
- 按一下完成。
- 找出作為外掛程式匯出目的地的暫存目錄,然後開啟其 plugins\ 資料夾。在此資料夾中,找出已建立的 .jar 檔並將其複製到 <install_dir>\dropins(其中 <install_dir> 是 AppScan® Source 安裝位置)。
註:
- 如果 \dropins 目錄不存在,則需要手動建立。
- 變更 AppScan® Source 安裝目錄可能需要管理專用權。
- 找出 <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/ 位置以逗點 (,
) 區隔。
- 啟動 AppScan® Source for Analysis
- 從主功能表中,選取 ,然後按一下安裝詳細資料。選取外掛程式標籤,並確定其中已列出您的外掛程式。
- 關閉「安裝詳細資料」對話框,開始使用您的應用程式伺服器匯入架構。