问题标签 [eclipse-jdt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
859 浏览

java - Eclipse 中的 FindBugs 和注解

我已经在我的代码中标记了一个方法,并在另一个地方javax.annotation.CheckForNull使用它,而不检查。null当我通过 Eclipse 中的 FindBugs(通过插件)运行此代码时,虽然没有警告。

假设应该有一个警告(如果没有,什么是好的测试用例?),为什么它没有显示?

它确实显示了其他警告,与注释无关。

0 投票
1 回答
1330 浏览

eclipse - 如何在 Eclipse 中搜索对 AST 或 CompilationUnit 上的字段的引用?

你好,

我正在开发一个 Eclipse 插件。我需要使用 ASTjdt.core.dom 或类似的东西在源代码中找到所有引用。我需要这些引用ASTNodes,以便获取父节点并检查表达式中涉及引用的几件事。预先感谢。


编辑:

我想再具体一点,我的问题是我试图捕获一些对常量的引用,但是......我不知道如何才能在匹配中捕获这些引用。我需要检查涉及对确定常量的引用的表达式。我只得到使用它们的方法的来源。

我认为问题在于范围或模式:

预先感谢!

0 投票
2 回答
362 浏览

java - 已解决的字段/信息 - 这是什么意思?

我正在使用 IField 接口的实现。我在理解“已解决的领域”时遇到问题——这是什么意思?甚至还有一个函数 isResolved(),它:

返回此字段是否表示已解析字段。如果某个字段已解析,则其键包含已解析的信息。

这是什么意思?解决这个词有没有第二个含义,我在字典和网上都找不到吗?

0 投票
1 回答
1672 浏览

java - CompilationUnit 中所有变量的 IField

我需要获取源代码中所有变量的IField 或 IJavaElement 引用。我使用插件,得到一个 ICompilationUnit,我可以从中读取所有顶级对象:

for(IJavaElement i:unit.getTypes()[0].getChildren())

或者

for(IJavaElement i:unit.getAllTypes())

如何访问局部变量?我试图将 ICompilationUnit 解析为 CompilationUnit,在那里我可以获得每个 field 的 ASTNode,但是我无法将它转换为 IField。有任何想法吗?

//编辑:例如:对于一个类:

公共类测试{

诠释全球1;诠释全球2;无效 a() { global1 = 4; 诠释本地1;int local2 = 5; }

}

我打电话

for (IType type : unit.getTypes()) { System.out.println("itype "+type); for (IField iField : type.getFields()) { System.out.println("iField "+iField); }}

输出是:

itype class Test [in [Working copy] Test.java [in [in [in src [in testowy]]]] int global1 int global2 void a() iField int global1 [in Test [in [Working copy] Test.java [in [在 src [in testowy]]]]] iField int global2 [in Test [in [Working copy] Test.java [in [in [in src [in testowy]]]]]

所以没有找到局部变量...

//添加 - 仍在挣扎:实际上这不是我所期望的行为。

这段代码我期望找到所有方法(有效)并从方法中获取所有局部变量(无效)。它永远不会进入带有字段的循环。它正确打印函数声明,所以我确定它可以看到所有变量......

至于使用 INodes,我可以访问所有节点,但是如何将类型从 Node 更改为我需要的 IField/IJavaElement?

谢谢 :)

0 投票
1 回答
919 浏览

eclipse - 如何在 Java 编辑器中为弹出窗口配置 Eclipse 背景颜色

在 Eclipse JDE 中,当我将鼠标移到 Java 元素上时,会弹出一个带有“按 F2 获得焦点”的弹出窗口。我的问题是如何配置该弹出窗口的背景颜色?我已经在首选项中转到“颜色和字体”。我已经尝试了所有具有“黑色”背景的,但我仍然无法更改颜色。

我在 ubuntu 11.04 上使用 eclipse 3.7M7。

你能告诉我如何改变颜色吗?

0 投票
1 回答
726 浏览

abstract-syntax-tree - Why some VariableDeclaration resolveBinding returns null but others does not

I am developing an eclipse plug-in to analyze the java source code. I traverse the whole AST tree and write a visitor to visit each variableDeclartionStatement, I noticed for some variables, the "resolvebinding" return an instance of IVariableBinding, but others does not. I can not differentiate them. BTW: I have set the ASTParser.setKind(K_COMPILATION_UNIT) and setResolveBindings(true). My code is as follows:

My question is: How can I differentiate the variable declarations which can resolve bindings with others which can not?

Many thanks in advance

0 投票
3 回答
4676 浏览

java - 为什么 Eclipse 没有在“生成委托方法”重构中添加 @Override 注释?

在 Eclipse 中,如果我尝试将“生成委托方法”重构应用于 Java 类,如下所示:

Eclipse 不会@Override为生成的方法生成注释。这是一个错误还是有充分的理由?

0 投票
1 回答
581 浏览

java - Eclipse JDT 适配器到 java.lang.reflect

我需要将Eclipse JDT集成到一些基于java.lang.reflect的现有 API 中。我的问题是:是否有现有的接口或适配器?做这个的最好方式是什么?谁能指点我一个教程来做到这一点?

例如,我需要java.lang.reflect.Methodorg.eclipse.jdt.core.dom.IMethodBinding.

同样,我需要java.lang.Class从 aorg.eclipse.jdt.core.dom.Typeorg.eclipse.jdt.core.dom.ITypeBinding. 我发现这可以通过以下方式实现:

当然,这是一个非常简单的解决方案,它假定类已经存在于类路径中并且没有通过 JDT API 进行更改——因此它远非完美。但应该注意的是,这两个假设确实适用于我的具体情况。

0 投票
2 回答
635 浏览

java - 以编程方式修改 Java 源代码


我使用 EMF ANT-Task XSD2Java 从现有的 XSD 生成 Java 代码。不幸的是,ANT-Task 的工作方式不如手动工具正确,它会生成一个像“org.example.interface.something”这样的包。因此,关键字“接口”不允许作为包名称我想重构它以使代码运行。(顺便说一句,通过 UI 包名称是“org.example.interface_.something”)我的问题是:如何重构包名称,包括源文件中的依赖项?我可以使用 JDT,如果,如何使用?感谢您的任何提示。

0 投票
1 回答
11913 浏览

java - java.lang.NoSuchMethodError: java.lang.NoSuchMethodError

通过eclipse运行Tomcat 7报错为:

我已经尝试了 jasper-jdt-6.0.13.jar 和 tomcat-6.0.16-jasper-jdt.jar 并且都报告了相同的错误。在某种程度上,我不应该感到惊讶,因为我跑了:

并且它没有 org.eclipse.jdt.internal.compiler.CompilationResult 类。但是这个网站http://www.java2s.com/Code/Jar/STUVWXYZ/Downloadtomcat6016jasperjdtjar.htm说它确实!
有人能告诉我正确的 jar 文件是什么以及从哪里得到它吗?这似乎是一个反复出现的主题。http://www.findjar.com列出了许多声称有这个类的罐子——但没有。

好的,在 jasper-compiler-jdt-5.5.23.jar 中找到它