问题标签 [jsr199]
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.
java - 使用 javax.tools.JavaCompiler 编译源时如何设置类路径?
我使用类javax.tools.JavaCompiler
(jdk6)编译源文件,但源文件依赖于一些jar文件。如何设置类路径javax.tools.JavaCompiler
?
java - 使用 JSR 199 Compiler API 在目录树中编译一组 Java 文件
我正在尝试使用 Compiler API 编译许多文件。
假设我有一个目录结构
有什么方法可以发现所有 Java 文件并使其编译所有内容,而无需递归到所有目录并查找所有 *.java 文件?
编辑:我想做的是编译我在某个目录树中得到的所有类。这些类是相互独立的。然后我加载类并实例化这些类的一些对象并调用方法。没有一个类需要有主。
java - javax.tools 是否依赖于 JDK?
我想用来JavaCompiler
动态创建一些类。
找到了包的源码javax.tools
,但是没有实现;互联网上的一些帖子说这取决于tools.jar
,我不确定是否tools.jar
与 JRE 有联系。
那么,我可以在没有安装 JDK 的 JRE 环境中运行程序吗?
另一个问题,它的实现细节JavaCompiler
是什么,它是创建一个新进程来调用javac
命令吗?
谢谢
java - JDK 1.6 中的 JavaCompiler:如何将类字节直接写入 byte[] 数组?
所以我最近了解到JDK 1.6 中提供了新的JavaCompiler API 。这使得直接从运行代码编译String
到文件变得非常简单:.class
您可以JavaSourceFromString
从Javadoc获取源代码。
这将非常方便地编译sourceCode
到Foo.class
当前工作目录中。
我的问题是:是否可以直接编译为byte[]
数组,并避免完全处理File
I/O 的混乱?
java - 如何运行JavaCompiler编译的代码?
有没有办法运行JavaCompiler编译的程序?[javax.tools.JavaCompiler]
我的代码:
现在我想以 1 秒的生命周期运行该程序并将输出输出到字符串变量。有什么办法可以做到吗?
java - 不创建物理文件的动态编译
我按照通过 Java 编译器 API 动态生成 Java 类的教程进行操作,代码可以工作,但我看到的是程序在编译后会创建一个类文件。
是否有可能在调用compilerTask.call();
后不创建类文件?如果是的话怎么做?
java - 访问自定义库时出现 NoSuchMetodError 异常
我有一个关于 java.lang.NoSuchMethodError 的问题。这个程序是关于编译器 API (JSR 199)。当我为此创建原型时,它运行工作,但是当我尝试使其成为库时,它会抛出 NoSuchMethodError 异常。
这是第一个原型:
我将 DynaCompTest 更改为库的 DynamicCompiler:
我创建了第二个原型来测试库:
当我用上面的代码进行测试时,它运行良好并打印BUILD SUCCESSFUL
,但是当我试图让它出错时,例如我删除了;
第一个原型一样的分号,它在访问compiler.getDiagnostics().getDiagnostics()
循环内部时抛出 NoSuchMethodError 异常。
问题是,为什么在第一个原型中它在尝试出错时运行良好,但当我尝试使用自己的库时它变成异常?
编辑
这是堆栈跟踪:
它应该是这样的:
在尝试调试它时,它显示了一个错误:
这是错误消息:
更新
遇到问题了,如果我们添加整个项目而不是构建库的jar,就会出现这个问题。因此,当我构建库 jar 时,它可以工作。但是任何人都可以解释为什么当我尝试添加整个项目而不是 jar 文件时会发生这种情况?
笔记
我正在使用:
- 来自 Oracle 的 JDK 1.7
- 网豆 7.1.1
java - 加载运行时编译源时 Java 包类名格式错误
我有一个 Java 运行时编译器,如下所示:
以及一个随附的简单类加载器示例:
当编译和加载一个类时,生成的类的包名被连接到类名中:
出乎意料的输出如下:
我在哪里错了?
java - 如何在 javax.tools.JavaCompiler 的类路径中使用远程 jar
我JavaCompiler
用来编译 .java 代码。
它在运行URLClassLoader
用于加载远程 jar 编译的类时对我有用。但在编译时不起作用。
尝试使用类似的选项
还尝试使用自定义JavaFileManager
的 with URLClassLoader
。
它们都不起作用。