gpt4 book ai didi

java - 如何在CompilationUnit中获取有关导入的问题

转载 作者:行者123 更新时间:2023-12-02 10:59:49 27 4
gpt4 key购买 nike

我想检测有关导入语句的错误。但是编译单元似乎在类声明本身内部检测到错误。

我正在尝试的代码如下:

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import org.apache.commons.*;

public class Bad {

Random r1 = new Random();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

int x = new Random().nextInt(3);
double y = new Random().nextDouble();

int z = 10

}

我没有在项目中添加apache commons。我可以在astview中看到两个错误,如下所示。
1) E[90, 10] The import org.apache cannot be resolved2) E[323, 2] Syntax error, insert ";" to complete FieldDeclaration
但是,当我尝试使用 CompilationUnit打印许多问题时,它仅返回一个,并且消息如下
1) Syntax error, insert ";" to complete FieldDeclaration
如何使用编译单元以编程方式获取导入错误?
还是有什么办法可以做到这一点?
提前致谢。

最佳答案

当您说astview时,我假设您是在谈论Eclipse ASTView插件。 ASTView插件是IDE的一部分,并使用IDE拥有的所有信息进行构建。这包括已添加到项目中的库。

编译单元仅使用源代码创建ast。它不了解有关项目中添加的库的知识。它只能检测语法错误,因此可以检测到分号丢失问题。

您可以检查JavaConventions validateImportDeclaration

关于java - 如何在CompilationUnit中获取有关导入的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45770807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com