請注意:本文是以機器翻譯軟體翻譯而成,且可能由人工進行事後編修。同時,本文可能並非依照最新的英文版本翻譯而成。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,Lucent Sky 不負擔任何責任。
症狀
使用 Lucent Sky AVM 掃描 Java 應用程式,且 JavaBuild 掃描參數未設定或設定為 Ant 時,掃描失敗且出現以下其中一個錯誤:
One or more Ant build errors occurred when building the application. (-42220040)
One or more Ant build errors occurred when building the application. (-42220041)
此外,Ant 記錄檔包含以下訊息:
BUILD FAILED
原因
掃描 Java 應用程式,且 JavaBuild 掃描參數未設定或設定為 Ant 時,Apache Ant 會用來組建應用程式。若 Ant 組建過程中出現錯誤,則掃描就會失敗。
解決方式
依照以下的方法解決這個問題,自第一個方法開始。若無法解決,請嘗試下一個方法。
方法 1
解決 Ant 記錄檔中的錯誤,再重新掃描應用程式。
要深入了解常見 Ant 錯誤類型的資訊,請參考更多資訊段落。
方法 2
使用直接二進位分析來掃描 Java 應用程式,可以不需要在 Lucent Sky AVM 中組建它們。要深入了解如何使用直接二進位分析,請參考 Lucent Sky 知識庫:
使用直接二進位分析掃描應用程式
方法 3
要關閉 Java 應用程式的二進位分析而僅使用程式碼分析,在掃描參數中加入 AnalysisEngines,20。
更多資訊
當未指定組建檔案(例如 build.xml)時,Lucent Sky AVM 會嘗試在程式碼壓縮檔案中找尋一個組建檔案。若有找到,該檔案在用於組建前會被略為調整以增加相容性。然侯,這個變更也有可能導致應用程式組建失敗。要在組建流程中直接使用未調整的組建檔案,將組建檔案在程式碼壓縮檔案中的相對路徑指定於分析目標。
常見的 Ant 組建錯誤類型包含:
- 一個套件或符號無法被找到 - javac 無法找到包含錯誤訊息中的命名空間或類別的 JAR 函式庫。將所需的 JAR 函式庫放於應用程式的 lib 目錄中。findJAR.com 可能有助於找到包含特定類別檔案的 JAR 函式庫。
- 語法或語意錯誤 - Java 應用程式中語法或語意錯誤有兩個常見的原因,除了程式碼中有實際的語法或語意錯誤以外,也可能是因為使用不正確的編碼來編譯程式碼。要深入了解如何除排編碼問題,請參考 Lucent Sky 知識庫:
排除編碼問題