问题标签 [javacompiler]

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 投票
0 回答
64 浏览

java - 测量哪些 Java 代码需要很长时间才能编译

有一个大型 Java 项目需要很长时间才能通过 Maven 和 IntelliJ IDEA 进行编译。

我想尝试改进这一点,但你知道他们所说的没有测量的优化,所以我们来了。

CPU 使用率有时在所有内核上为 100%,但有时会下降 10 多秒。RAM 和磁盘已使用,但似乎容量不足(从 Windows 任务管理器判断)。

我有兴趣测量任何有帮助的东西。主要是哪些源文件、哪些构造或哪些编译步骤。

(关于项目的详细信息:数百万行代码,数十个maven项目,语言级别8但最近的jdk)

0 投票
0 回答
18 浏览

javacompiler - java 编译器如何处理重复的变量名。它使用什么机制?

它是否使用任何不允许重复的数据结构。其背后的逻辑究竟是什么。

0 投票
1 回答
148 浏览

android - Gradle 自定义 JavaCompile 任务进行注解处理

我正在开发一个 gradle 插件,该插件注册了一个JavaCompile应该触发注释处理过程的任务。

这是我目前拥有的

在一个 android 项目中,当我应用我的插件并使用 gradle 运行任务时,到目前为止什么都没有发生。我什至尝试在处理器的第一行抛出异常,但仍然没有成功。

我错过了什么或做错了什么?另外,我如何告诉任务它应该ShuttleProcessor用作注释处理器。

我正在与kotlin而不是Groovy

谢谢。

0 投票
1 回答
190 浏览

java - 错误警告:PackageInfo 中的 [deprecation] 签名已被弃用(签名签名:info.signatures)

我在编译时遇到这些错误。

在此处输入图像描述

这是日志,

有人可以解释一下这是什么意思吗?

0 投票
0 回答
48 浏览

java - 如何使用 javax.tools.JavaCompiler 创建一个调用自定义注释过滤的子类方法列表的函数?

我有这种不寻常的(我认为?)情况

现在我有一个扩展 Base 的类,并有一些带有签名的方法,如 executeAll 方法中所述,如下所示:

我知道这可以很容易地实现,我创建一个“受保护的摘要Collection<BiConsumer<Foo, Bar>> getToBeCalled()”让每个孩子都扩展它并将 executeAll() 方法编写为:

但这不是我想要达到的。我需要一种方法来从子类中执行方法,而无需开发人员进行任何重大干预(这就是为什么我考虑使用注释来标记希望执行的方法,仅此而已)。

现在我有一个工作实现,在 Base 空构造函数中使用 扫描每个可用的方法this.getClass().getMethods(),过滤它们(必须有 Mark 注释,按顺序只接受 Foo 参数和 Bar 参数并返回 void,受保护)并将它们保存在aprivate List<Method> methods;后来被 executeAll 用来调用每个方法。

最近我也读到了这个:https ://www.optaplanner.org/blog/2018/01/09/JavaReflectionButMuchFaster.html ...

...并且只是为了好玩实现了一个 MethodHandle 版本(我认为在我的用例中可能会更快),并计划制作一个 LambdaMetafactory 版本...但我真的对 javax.tools.JavaCompiler 很感兴趣解决方案。我仍在尝试弄清楚如何做到这一点...我保留了我原来的方法名称搜索和过滤,我只保留了名称...现在呢?如何将方法名称列表(我知道我可以访问,因为我从“this”调用并在子类中声明为受保护,并且还具有特定签名)转换为可用的东西,比如单个private final BiConsumer<Foo, Bar> callAll;由 Base() 构造函数计算和保存,并由 executeAll 函数调用,如下所示:

当然,使用 BiConsumer 作为 callAll 的想法只是一个想法,如果有更好的东西我完全可以接受建议。

0 投票
0 回答
35 浏览

java - JavaCompiler - 生成的类无法访问生成的枚举

我正在生成类和枚举,生成的代码看起来不错。生成的枚举位于生成类的子包中。

我有一个类必须编译的 java 测试用例。所以为此我首先编译枚举。这工作正常。现在测试用例失败了,类的 setter 方法将枚举作为输入参数。

1) Enum-Weather 的示例代码:

2)一个类的示例代码-天气:

3)测试用例的示例代码:

请有任何建议。

0 投票
1 回答
107 浏览

java - 如何在资源中动态编译和运行带有 .class 文件的 .java 文件?

我试图让我的 Main 类在其控制台(eclipse)中打印出来自 Example1 类的输出(在资源/作为 .java 文件中),这取决于 Example2 类。我有这个想法是出于评分目的 - 在 javafx 应用程序中实现它,该应用程序在使用 FileChooser 找到的编译类文件上运行测试类(Example1)。我发现了有关使用 JavaCompiler 的信息,但我不知道如何使用它来编译依赖于 .class 文件的 .java 文件并执行它...

Example1 作为 .java 文件在resources/Example1.java.

Example2 作为 .class 文件resources/Example2.class

0 投票
1 回答
29 浏览

java - 我在运行使用 javax.tools.JavaCompiler 编译的代码时遇到问题

我正在开发我的第一个 java 项目,即一个 TextEditor,它也可以编译和运行文件。编译器 (javax.tools.JavaCompiler) 工作正常,但是当我尝试运行“.class”文件时,什么也没有出现。我需要帮助。

以下是编译代码:

运行 .class 文件的代码:

0 投票
1 回答
65 浏览

java - 使用 JavaCompiler 和 URLClassLoader 编译和运行 Jade 代理

我找不到通过手动调用 JavaCompiler 来执行我的代理 JADE 类的方法。我正在尝试实现一个模拟器,我添加了一个导入功能,允许人们加载他们的 JADE 代理类,我会在模拟器上执行它们以提取数据。

这是导入代码:

这是正在编译的主要内容:

我尝试同时包含 JADE.rar 的路径和代理类的路径,但它仍然可以找到代理类,我收到以下错误:

找不到代理类时出错

我还将jade.rar 文件导入到我的项目的构建路径中。

0 投票
2 回答
86 浏览

java - Java 创建一个泛型类,该类实现另一个具有约束的泛型接口

要实现的接口:

具体实施:

意外的界限

这种模式在 Java 中是否可行?