javac相关内容
在转换由 DependencyFinder 和 java-callgraph 等库生成的 java 调用图时,我发现 java 编译器会为匿名函数、内部类等生成名称. 我已经找到了其中几个的意思(如果我错了,请纠正): org.example.Bar$Foo指的是Foo,它是org.example.Bar的内部类. org.example.Bar$1 指的是在 org.example
..
希望在 gradle 中使用来自 Java 14 的records> 构建,但正在获取: thufir@dur:~/NetBeansProjects/FileWatcherHandler$thufir@dur:~/NetBeansProjects/FileWatcherHandler$ gradle clean build>任务:编译Java失败/home/thufir/NetBeansProj
..
在将 Maven 项目升级到 Java 9 并添加模块描述符后,javac 抱怨自动模块的传递依赖: [警告]/.../src/main/java/module-info.java:[3,35] 需要传递性指令用于自动模块 重现问题的示例 module-info.java: module com.example.mymodule {出口 com.example.mymodule.my
..
我在回答 一个问题并遇到了一个我无法解释的场景.考虑这个代码: interface ConsumerOne;{无效接受(T a);}接口 CustomIterable扩展 Iterable{void forEach(ConsumerOne c);//超载}A类{私有静态 CustomIterable可迭代的;私有静态列表一个列表;公共静态无效主(字符串 [] args){iterable.for
..
例如: int anInt = null; 在编译时失败,但是 public static void main(String[] args) {for (int i = 0; i 在运行时失败(通常).尝试只返回 null 也会导致编译错误,所以我假设有多个路径会导致编译器推断 null 可能是一个自动装箱 整数?javac为什么不能编译两种情况都出现同样的错误? 解决方案 在第
..
我正在使用 Intellij Idea 10 和 Java 6 JDK Update 7.当我运行 Build -->Rebuild Project 命令,并且 (javac) 编译生成警告,Idea 不会在 Messages 视图中显示什么这些警告.我只看到一个“信息:XX 警告"节点,但无法展开它以查看实际警告.或者我只是在状态栏上看到一条消息“编译成功完成,但出现 XX 警告".对于错误,I
..
我需要在我的 gradle 项目中指定 javac 的路径.我可以通过将以下内容添加到我的 build.gradle 文件中来做到这一点: options.forkOptions.executable = '/home/mj/lib/jdk1.7.0_80/bin/javac' 问题是这个文件在我们的存储库中共享,我不希望设置被推送到那里.我试着把它放在我本地的 gradle.properti
..
Javac 提供以下非标准选项(来自“javac -X"命令行帮助): -Xplugin:"name args" 要运行的插件的名称和可选参数 然而,Maven 不处理这种格式.例如,以下不起作用: org.apache.maven.pluginsmaven-compiler-plugin
..
我编译了一个Java程序 javac t1.java >一种 为了将错误消息重定向到文件 a.但是 a 没有错误内容(它们仍然出现在终端中).该命令是从 Linux 命令提示符执行的. t1.java 的内容如下: class t1 {公共静态无效主(字符串 [] args){System.out.printn("Hello World!");//显示字符串.}} 所以现在有一个错误
..
这是简单的代码 import java.util.ArrayList;导入 java.util.Collections;导入 java.util.HashMap;导入 java.util.Map;公共类 SimpleTest {公共静态无效主(字符串 [] args){最终 ArrayList>地图 = newArrayList(createMap("1", "a", Collections.E
..
当我编译时: public static final boolean FOO = false;公共静态最终无效 fooTest() {如果(FOO){System.out.println("gg");}} 我得到一个空方法 fooTest() {}.但是当我编译时: static boolean isBar = false;public static final boolean BAR =
..
我想将任何枚举值传递给实用程序类中的方法,并获得另一个相同枚举类型的枚举值.像这样: 公共类 XMLUtils {公共静态枚举getEnumAttribute(元素元素,字符串名称,枚举 ?默认值) {if (element.hasAttribute(name)) {String valueName = element.getAttribute(name);//搜索值for (Enum valu
..
我有以下一段代码 公共类 TeeingCollector {公共静态无效主(字符串 [] args){//var strs = List.of("abc");var splitStrings = Stream.of("foo", "hello", "bar", "world").collect(Collectors.teeing(Collectors.filtering((String s) -
..
这是一件非常简单的事情,但我无法理解.我查看了大量 StackOverFlow 帖子以及互联网上的内容. 我的目标是创建一个 .bat 文件,它将打开 cmd 并将我的 Main.java 执行到命令提示符中.是不是很容易,但我对如何做感到困惑? 下面我正在编写我的批处理文件应该执行的步骤 打开cmd javac Main.java java 主程序 我的文件将位于我所
..
本页 描述了我如何使用 javac 中的代码生成器来生成给定的代码我可以构建一个 AST(使用我编写的单独的解析器).该技术涉及编辑 javac 的源代码以基本上绕过 Java 解析器,以便可以将他/她自己的 AST 提供给代码生成器.这可以工作,但我希望以更简洁的方式来完成.我想将 javac 的代码生成部分作为库包含在我的项目中,这样我就可以使用它来生成代码,而无需附带 javac 的其余源代
..
我正在迈出学习 JSF 的第一步.我发现了一本有趣的书,叫做“Core JavaServer Faces 第三版". 尝试编译第一个示例,您可以从以下位置下载源代码:http://horstmann.com/corejsf/.当我在命令行中输入以下内容时 javac UserBean.java 我收到错误: 包 javax.inject 不存在包 javax.enterprise.co
..
我想将我的代码编译到 Java 1.0 版. 我设法编译成1.1: $ java -versionopenjdk 版本“1.8.0_181"OpenJDK 运行时环境(构建 1.8.0_181-8u181-b13-2~deb9u1-b13)OpenJDK 64 位服务器 VM(构建 25.181-b13,混合模式)$ javac -target 1.2 -source 1.2 MyClas
..
谁能告诉我 javac 的 jsr14 目标选项在 JDK7/8 中仍然可用吗? 说, $ javac -source 1.5 -target jsr14 Hello.java 解决方案 我们在 OSGi 中大量使用 -jsr14,因为它允许我们在我们的 API 中使用泛型,但仍然部署在 1.4 环境中,这些环境在嵌入式中仍然很流行.不幸的是,他们使 JDK 7 不向后兼容 Java
..
如何将目录下的所有文件编译为*.class文件? 解决方案 嗯,这看起来很明显,所以我可能会遗漏一些东西 javac *.java (带有适当的库引用等) 或者: javac -d bin *.java 到 javac 为输出创建正确的目录结构. 您在寻找更复杂的东西吗?如果是这样,您能否提供更多详细信息(以及您在哪个平台上)?
..
我想知道我是否在 Java 6 中编译,但有人在 Java 7 上运行程序,会使用 Java 6 或 7 版本的 Arrays.sort 吗? 这很重要,因为新的归并排序会抛出 IllegalArgumentException,而旧的不会(参见 比较方法违反了它的一般约定!仅限 Java 7) 现在,可以使用 Arrays.useLegacyMergeSort 在 Java 7 中进行
..