笔记
单击使用此模板按钮(不是叉)。
这是一个模板项目,旨在演示如何使用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以执行分析器。