java如何打印项目
打印项目目录结构
使用Java打印项目目录结构可以通过递归遍历文件系统实现。以下是一个示例代码片段:
import java.io.File;
public class ProjectPrinter {
public static void printDirectory(File dir, int level) {
if (!dir.exists()) return;
File[] files = dir.listFiles();
if (files != null) {
for (File file : files) {
for (int i = 0; i < level; i++) {
System.out.print(" ");
}
System.out.println(file.getName());
if (file.isDirectory()) {
printDirectory(file, level + 1);
}
}
}
}
public static void main(String[] args) {
File projectDir = new File("."); // 当前目录
printDirectory(projectDir, 0);
}
}
打印项目依赖
使用Maven项目可以打印项目依赖关系:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>analyze</id>
<goals>
<goal>analyze</goal>
</goals>
</execution>
</executions>
</plugin>
执行命令:
mvn dependency:tree
打印项目信息
使用Maven打印项目基本信息:
mvn help:effective-pom
打印项目版本
从pom.xml中读取并打印项目版本:
import java.io.File;
import java.io.FileInputStream;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class ProjectVersionPrinter {
public static void main(String[] args) throws Exception {
File pomFile = new File("pom.xml");
Document doc = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(new FileInputStream(pomFile));
NodeList versionNodes = doc.getElementsByTagName("version");
if (versionNodes.getLength() > 0) {
System.out.println("Project version: "
+ versionNodes.item(0).getTextContent());
}
}
}
打印项目类信息
使用反射API打印项目中类的信息:

import java.lang.reflect.Method;
public class ClassInfoPrinter {
public static void printClassInfo(Class<?> clazz) {
System.out.println("Class: " + clazz.getName());
System.out.println("Methods:");
for (Method method : clazz.getDeclaredMethods()) {
System.out.println(" " + method.getName());
}
}
}






