`
budairenqin
  • 浏览: 202349 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

com.sun.tools.javac.Launcher中使用Preferences操作Windows注册表

阅读更多
OpenJDK javac中com.sun.tools.javac.Launcher有以下代码,在Windows平台上使用注册表来保存上次打开的路径信息,以下是代码片段:
        Preferences prefs = Preferences.userNodeForPackage(Launcher.class);
        if (args.length > 0)
            fileChooser = new JFileChooser(args[0]);
        else {
            // prefs可以在注册表中缓存上次打开的文件路径,
            // 具体参考java.util.prefs.AbstractPreferences的get和put方法
            String fileName = prefs.get("recent.file", null);
            fileChooser = new JFileChooser();
            if (fileName != null) {
                fileChooser = new JFileChooser();
                fileChooser.setSelectedFile(new File(fileName));
            }
        }
        if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
            String fileName = fileChooser.getSelectedFile().getPath();
            // 将fileName放入了注册表中,
            // 我的测试代码在我的机器上产生的注册表信息是这样的:
            //    HKEY_USERS\S-1-5-21-2927120809-1180443650-1650080734-1000\Software\JavaSoft\Prefs\com\sun\tools\javac
            //    名称: recent.file
            //    数据: /D:///Workspace///Eclipse//workspace///Compiler_javac//test-files//java-files///For/Launcher_trace.java
            prefs.put("recent.file", fileName);


注册表:



注意:com.sun.tools.javac.Launcher这个类在JDK1.6内不是有效的,默认情况下它不会被编译进tools.jar,JDK1.7版本中tools.jar中已经有这个类了
  • 大小: 17.7 KB
分享到:
评论

相关推荐

    tools-1.8.0.jar.zip

    `com.sun.tools`通常与Java开发工具包(JDK)中的内部类和工具有关,例如Javadoc、javac编译器等。这些工具通常不在标准的Maven或Gradle仓库中提供,而是作为JDK的一部分直接包含在JRE或JDK安装目录的`lib`子目录下...

    tools-1.8.0.jar包下载

    在Java开发过程中,工具类库`tools.jar`是Java开发工具包(JDK)的一部分,主要用于提供编译、打包、调试等开发工具的类库。`tools-1.8.0.jar`是针对Java 8版本的这个工具库。本文将深入探讨`tools.jar`的用途、功能...

    解决maven项目找不到tools-1.8.0.jar的问题,缺失tools-1.8.0.jar包

    在Java开发中,Maven是广泛使用的构建工具,它帮助管理项目的依赖关系,自动化构建流程。然而,有时候在运行Maven项目时,可能会遇到找不到特定jar包的问题,比如本例中的`tools-1.8.0.jar`。这个问题通常表明Maven...

    com.sun.tools.rar

    然而,随着Java版本的更新,特别是Java 9及以后的版本,Oracle开始逐步将`tools.jar`中的内容拆分到单独的模块中,因此在最新的JDK版本中,可能找不到`com.sun.tools.rar`这样的直接入口。 这个类库主要用于支持RAR...

    javac源码免费下载

    5. **错误与警告处理**:在编译过程中,如果遇到语法错误或警告,javac会通过`com.sun.tools.javac.util.Messages`和`com.sun.tools.javac.util.Log`类报告这些问题,帮助开发者调试。 6. **优化**:虽然javac的...

    Javac内核源码

    7. **错误与警告处理**:在整个编译过程中,如果遇到语法错误、类型不匹配等问题,Javac 会生成错误和警告信息,这由 `com.sun.tools.javac.util.Messages` 和 `com.sun.tools.javac.util.Log` 类处理。 8. **优化*...

    javac-source-code-reading:javac源码调试-java source code

    这个过程中涉及的类主要包括 `com.sun.tools.javac.main.Main`,它是 javac 的主入口点,以及 `com.sun.tools.javac.parser.JavacParser`,负责解析源代码。 在阅读和调试 javac 源码时,有几点需要注意: 1. **...

    org.apache.tools.*需要的ant.jar包

    下面我们将深入探讨如何在Java程序中使用Ant以及`ant.jar`的重要性。 1. **Ant的基本概念** - **构建文件**:build.xml是Ant的主要配置文件,其中包含了一系列的`<target>`元素,每个target代表一个特定的任务或...

    ant.jar下载

    org.apache.tools.ant.taskdefs.Javac org.apache.tools.ant.taskdefs.Jikes org.apache.tools.ant.taskdefs.Mkdir org.apache.tools.ant.taskdefs.Patch org.apache.tools.ant.taskdefs.Sleep org.apache....

    javac 源码 javac 源码

    javac 命令行支持多种选项,如 `-g` 用于添加调试信息,`-classpath` 定义类路径,`-source` 指定 Java 版本等,这些选项通过 `com.sun.tools.javac.main.Main` 类的 `compile` 方法处理。 深入研究 javac 源码...

    资源包tools-1.8.0.jar&jconsole-1.8.0.jar下载!资源真实有效

    在Maven项目中,如果需要在构建过程中使用这些工具,可以直接将`tools.jar`作为依赖引入,以便于访问其内部的类和功能。 接下来,我们来看看`jconsole-1.8.0.jar`。这是一个Java监控和管理控制台,它是Java平台的...

    javac 的 源 代 码

    在本文中,我们将探讨javac的工作原理、关键组件以及其在Java开发中的重要性。 一、javac的基本工作流程 1. 解析(Parsing):javac首先读取Java源文件,将其转化为抽象语法树(AST,Abstract Syntax Tree)。这个...

    Java8/java1.8的tools.jar

    这个文件在Maven项目中尤其关键,因为它提供了许多开发者日常使用的命令行工具,如编译器(javac),反编译器(javadoc),以及JAR打包工具等。 当Maven项目缺少`tools.jar`或者出现与JDK-tools相关的错误时,这通常...

    jdk1.6 tools.jar

    在JDK1.6版本中,一个重要的组成部分就是tools.jar,它是Java开发工具集的一部分,包含了Java编译器(javac)、Java文档生成器(javadoc)以及其他一些核心工具的类库。当JDK安装不完整或者配置出现问题时,可能会...

    jdk.tools-1.7.jar

    **标题:“jdk.tools-1.7.jar”** **描述详解:** `jdk.tools-1.7.jar` 是Java Development Kit(JDK)1.7版本的一部分,它包含了用于开发、编译、调试和管理Java应用程序的工具类库。这个特定的JAR文件尤其重要,...

    java编译器源代码

    源代码中包含多个模块,如`com.sun.tools.javac.main`,`com.sun.tools.javac.parser`,`com.sun.tools.javac.code`等,分别对应不同的编译阶段。 2. **词法分析**: 这是编译的第一步,由`...

    jdk1.8下tools.jar(url)

    ### jdk1.8下tools.jar(url) #### 背景与问题描述 在Java开发过程中,我们可能会遇到各种各样的编译错误或构建失败的情况。其中,“No compiler is provided in this environment. Perhaps you are running on a...

    srcjavc源码学习.zip

    - `com.sun.tools.javac.Main`:这是`javac`命令的主入口点,负责启动编译过程。 - `com.sun.tools.javac.parser`:包含词法和语法分析的相关实现。 - `com.sun.tools.javac.tree`:存储抽象语法树的相关类。 - `...

    JDK8.0(含tools.jar和dt.jar)

    这个版本的JDK不仅包括了Java编译器、Java虚拟机(JVM)、Java类库,还特别提到了`tools.jar`和`dt.jar`两个关键文件。这两个文件在Java开发中起着至关重要的作用。 首先,我们来了解一下`tools.jar`。这个文件是...

    dt-rt-tools的jar包

    例如,`com.sun.tools.javac`包下的类是`javac`编译器的主要组成部分,它们负责解析源代码,生成字节码,并处理编译过程中的各种任务。 将这三个JAR文件添加到JDK的`lib`目录下,通常是为自定义或特定环境的JDK配置...

Global site tag (gtag.js) - Google Analytics