排除 Ant 錯誤

2020/12/1 |

症狀

使用 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 知識庫:
    排除編碼問題