Tag: 编译

从Java中编译外部.java文件

我正在制作一个可以编写.java文件的工具,然后(希望)将这些文件编译成.class文件。 在一个进程中,用户选择一个文件目录,其中写入多个.java文件。 现在我希望程序编译这些Java文件。

如何编译支持旧版Java的.java?

我想将我的.java(几个)编译成一个.jar ,它至少与Java 1.6和更新版本兼容,最好是Java 1.5和更新版本的Java。 (我有Java 1.7.0_5 )

使用Eclipse编译为特定的JRE

关于在Eclipse中将项目编译为特定JRE,我有两个问题: 1)项目的属性窗口> Java Build Path > Libraries选项卡: 如果我想编译到JRE 6 – 窗口是否应显示构建路径中包含的JRE 6和JRE 7? 或者只有JRE 6足够? 我目前的情况 – 好还是坏? 2)我知道将项目编译为特定JRE的步骤: a-确保JRE位于Eclipse中已安装的JRE列表中。 b-在我显示的窗口中单击“添加库”,将其添加到项目的构建路径中。 c-将项目的编译器合规性级别设置为与我希望我的应用程序能够运行的最旧的JRE相同(我添加到构建路径的JRE)。 这一切都很好,但我仍然不明白一件事: Java Build Path中的JRE与设置为Compiler Compliance Level的JRE版本之间的区别是什么?

适用于Java 5和Java 6的即时内存Java代码编译

如何从Java 5和Java 6中的任意字符串(在内存中)编译java代码,加载它并在其上运行特定方法(预定义)? 在你点燃之前,我查看了现有的实现: 大多数人依赖Java 6 Compiler API。 那些没有,依靠技巧。 是的,我检查了commons-jci。 要么我太密集了,不能理解它是如何工作的,要么就是它没有。 我找不到如何向编译器提供当前的类路径(这是非常巨大的)。 在有效的实现上(在Java 6中),我找不到如何正确加载内部类(或内部匿名类)。 如果整个东西都在内存中,我会非常喜欢它,因为它在多个环境中运行。 我确信之前已经解决了这个问题,但我找不到任何看起来甚至是谷歌半生产质量的东西(除了jci,正如我之前所说,我还没有设法使用)。 编辑: 我查看了JavaAssist – 我需要内部类,Java 5.0语言级支持以及使用整个类路径进行编译。 另外,我想动态创建新类。 我可能弄错了,但我找不到如何用JavaAssit做到这一点。 我愿意使用基于文件系统的解决方案(调用javac),但我不知道如何划分类路径,也不知道如何使用特殊的类加载器加载文件(不在我的类路径中)回收多次调用。 虽然我知道如何研究它,但我更喜欢现成的解决方案。 Edit2:现在,我满足于BeanShell“评估”。 显然,它完成了我需要它的一切(获取一个字符串,在’当前’类路径的上下文中评估它。它确实错过了一些Java 5特性,但它可以使用枚举(不定义)和编译’generics’(擦除) )类,所以它应该足够我想要的东西。 我不想将答案标记为已被接受,因为我希望能找到更好的解决方案。 Edit3:接受了beanshell建议 – 它确实非常有用。

使用JavaFX 2.0编译代码(使用命令行)

我想知道如何使用JavaFX从Windows shell编译代码。 我在fxservidor.java有这个代码: public class Fxservidor extends Application { /** * @param args the command line arguments */ public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) { primaryStage.setTitle(“Hello World!”); Button btn = new Button(); btn.setText(“Say ‘Hello World'”); btn.setOnAction(new EventHandler() { @Override public void handle(ActionEvent event) { Synthetizer os = new […]