筆記
單擊使用此模板按鈕(不是叉)。
這是一個模板項目,旨在演示如何使用Tai-E(易於學習/使用Java的靜態分析框架)作為Gradle或Maven項目的依賴性來開發自己的靜態分析。
該模板項目的主要目的是通過預先配置項目支架並保持所有內容,以加快新和經驗豐富的開發人員的靜態分析開發的設置階段。
該模板項目包含與Gradle相關的和Maven相關的文件。因此,您需要選擇所使用的構建工具,專注於所需的文件,並刪除其他無關的文件。
對於Gradle用戶,需要以下文件,而其他文件則可以刪除:
.
├── gradle (Gradle Wrapper)
├── src (Source code folder)
├── build.gradle.kts (Gradle configuration)
├── gradlew (*nix Gradle Wrapper script)
└── gradlew.bat (Windows Gradle Wrapper script)
對於Maven用戶,需要以下文件,而其他文件則可以刪除:
.
├── .mvn (Maven Wrapper)
├── src (Source code folder)
├── mvnw (*nix Maven Wrapper script)
├── mvnw.cmd (Windows Maven Wrapper script)
└── pom.xml (Maven configuration)
警告
確保從項目中刪除所有不需要的文件。
在您深入研究靜態分析開發以及與之相關的所有內容之前,值得一提的是使用GitHub模板的好處。通過使用當前模板創建一個新項目,您可以從沒有歷史記錄或對此存儲庫的引用開始。這使您可以輕鬆地創建一個新的存儲庫,而無需複制和粘貼以前的內容,克隆存儲庫或手動清除歷史記錄。
您要做的就是單擊Use this template按鈕(必須使用GitHub帳戶登錄)。
完成此操作後,該項目就可以克隆到您的本地環境中,並以Intellij Ideas開放。
下一步在Intellij Idea打開您的項目後,將在項目結構設置中的版本17中將適當的SDK設置為Java。然後,您可以開始實施您的想法。
該準備的模板提供了盡可能少的代碼,因為一般腳手架不可能滿足TAI-E之上所有靜態分析的所有特定要求。因此,模板僅包含以下文件:
.
└── src
├── main
│ └── java
│ └── org
│ └── example
│ └── MyMain.java (Your analyzer code)
└── test
└── resources
├── MyClass.java (The program analyzed by your analyzer)
└── *.class (All the .class files obtained by compiling MyClass.java with Java 17)
build.gradle.kts和pom.xml文件分別是Gradle和Maven的項目配置文件。在使用自己的分析儀代碼時,您需要修改一些通用屬性。
項目元數據:
group = " org.example "
description = " tai-e-template "
version = " 0.0.1-SNAPSHOT "分析儀的入口點類:
application {
mainClass.set( " org.example.MyMain " )
}Tai-E版本指定:
val taieVersion = " 0.2.2 "項目元數據:
< groupId >org.example</ groupId >
< artifactId >tai-e-template</ artifactId >
< version >0.0.1-SNAPSHOT</ version >分析儀的入口點類:
< build >
...
< mainClass >org.example.MyMain</ mainClass >
...
</ build >Tai-E版本指定:
< properties >
...
< tai-e .version>0.2.2</ tai-e .version>
</ properties >如果您需要測試如何從命令行中運行分析儀(例如,在遠程服務器(例如遠程服務器)中開發時:
對於Gradle用戶,運行./gradlew run以執行分析器。
對於Maven用戶,運行./mvnw test以執行分析器。