javac相关内容

我如何编译包中的类,以便稍后使用“java程序"执行它们?(没有包名)?

我有一个关于 Java 中的 javac 和包的快速问题. 我有一个简单的程序(我们称之为 Program.java),它当前位于以下目录中: myRepository/myProgram 在 myRepository/myProgram 目录中的 Program.java 和其他 .java 文件中,我已经声明了 package myProgram.* 并且还包含了 impor ..
发布时间:2021-11-22 16:43:41 Java开发

javac数据流分析的奇怪误报

我有以下形式的代码: class 测试 {私人最终 A t;公共测试(){为了 ( ... : ... ) {最终 A u = 空;}t = 新 A();}私有类 A {}} 编译器说: 变量 t 可能已经被赋值 有趣的是,如果我对循环执行以下任何更改,它就会起作用! 将循环的内容更改为A u = null 移除循环(但保持final A u = null;) 用经典的计数循环替 ..
发布时间:2021-11-22 16:43:30 Java开发

如何在 Windows 中更改默认系统 java 编码形式?

当我尝试编译(使用 javac)某些 Java 源文件时,其中包含一个注释行,其中包含一些无法识别的字符,例如 ascii 代码 129 (~A),出现错误. 源代码如下所示: //ascii 129 是 ?(实际上它在 VIM 中显示 ~A 但显示?当我在这里直接复制它时) 上面的代码行是注释,应该不会引起任何错误,但是如果发生了,我认为应该是jave编码形式的问题,我该如何解决这个问 ..
发布时间:2021-11-22 16:43:22 Java开发

在维护对 Java 7 的支持的同时使用 @Repeatable

Java 8 通过使用“容器"注释支持可重复注释: @Repeatable(FooContainer.class)@接口 Foo {字符串值();}@接口 FooContainer {Foo[] 值();}@Foo("酒吧")@Foo("baz")公共类 SomeClass { } 我有一个要支持 Java 7(或更新版本)的库.这个库广泛使用了注解,并且会从支持可重复注解中受益匪浅. ..
发布时间:2021-11-22 16:43:12 Java开发

仅包含子包的按需导入声明

相关:我如何编译“import pack.*"用ant/javac,什么时候没有这样的类? 假设我们有给定的包结构 父|- -一种---b 其中包parent只包含两个子包a和b(包parent下没有类>). 代码import parent.*,位于除parent 之外的包中,使用Maven(即javac)编译时抛出编译-时间错误.错误是: 包父级不存在 我查看了有关这 ..
发布时间:2021-11-22 16:43:05 Java开发

重复注解需要公共容器吗?

在使用重复注释时,我注意到 Eclipse 的编译器和 javac 之间存在差异.重复注解和它的容器在同一个包中,但前者被声明为公开的,而后者则保持包私有.即使在另一个包中引用了重复的注释,Eclipse 的安排也没有问题.另一方面,javac 拒绝编译,说 [container] 中的 value() 定义在不可访问的类或接口中 我的问题是,哪个是正确的?我在 JLS 中找不到任何关 ..
发布时间:2021-11-22 16:42:50 Java开发

Java中的Java编译器

可能的重复: 在“自身"中实现编译器 我正在阅读有关 Java 编译器的信息,并意识到它是用 Java 编写的.这怎么可能? 我的意思是,这不是像“鸡和鸡蛋"的问题吗?我们如何用相同的语言编写编译器? 解决方案 原创已写在 C. 然后你可以用 Java 编写下一个版本.:) ..
发布时间:2021-11-22 16:42:39 Java开发

javac -Xlint:覆盖不起作用

当我有一个类覆盖超类方法而不指定 @Override 注释时,我试图让我的 java 构建失败. 构建是通过 ant 完成的,我已将以下元素添加到我的 任务中: 遵循了 unchecked 选项,但忽略了 overrides 选项.我还尝试将两个 Xlint 选项分成两个单 ..
发布时间:2021-11-22 16:42:31 Java开发

在 java 编译器中标记行的问题

我是硕士生,正在研究静态分析.在我的一次测试中,我遇到了在 java 编译器中标记行的问题. 我有以下 java 代码: 226: String json = "/org/elasticsearch/index/analysis/commongrams/commongrams_query_mode.json";227:设置设置= Settings.settingsBuilder()228 ..
发布时间:2021-11-22 16:42:22 Java开发

使用javac编译多个jar和java文件

我下载了一个用 java 编写的示例代码,其中包含多个 jar 文件和 java 文件.我不是 Java 程序员,所以我很难编译代码.这是我的尝试: javac -classpath lib/*.jar src/*.java 然而这是我得到的: javac:无效标志:lib/dom4j-1.6.1.jar用法:javac 使用 -help 获取可能选项的列表 我的方法有什么问题, ..
发布时间:2021-11-22 16:42:12 Java开发

java 编译:源、目标和发布支持的版本

我可能会为遗留项目做一些交叉编译,我注意到最近的 JDK 仅限于 source、target 和 的某些特定版本释放 JVM 参数. 如何获得这些参数的支持版本? 解决方案 确实支持的值取决于使用的主要 JDK 版本. 您可以在各个主要 JDK 版本的 javac 文档中找到相关信息(链接在下面引用). 关于这些论点的一些一般性说明: Maven 配置中的source 和t ..
发布时间:2021-11-22 16:41:51 Java开发

编译依赖于外部 Jar 的模块

我在 Java 11.0 中完成了一个使用 Project Jigsaw 的简单示例.1、在 Ubuntu 18.04 上使用 oracle JDK 11 构建. 按照那个例子,我创建了一个简单的项目,它编译成一个模块,将模块打包成一个 jar,然后使用 jlink 创建一个独立的发行版.一切正常——最终结果是一个带有精简 JRE 和我的模块的小文件夹. 该项目仅由三个文件和一些文件夹 ..
发布时间:2021-11-22 16:41:40 Java开发

-sourcepath 与 -classpath

在为 oracle 认证学习期间,我正在尝试考试期间可能出现的所有可能情况.比如这里对shell命令行有一点疑问(基于unix): 假设有一个名为 myProject 的文件夹和一个名为 myProject/source 的子文件夹. 文件 SubFile.java 在文件夹 myProject/source 中,另一个文件 File.java 在 myProject 中> 文件夹. ..
发布时间:2021-11-22 16:41:32 Java开发

如何让 javac 编译器将输出同时写入文件和控制台?

我正在使用 ant 运行 javac 任务,并且为了报告目的,我使用 -Xstdout 编译器参数将输出发送到日志文件,但是我希望输出也仍然发送到控制台,以便 hudson 可以捕获它以供在屏幕上查看. 有没有办法做到这一点? 解决方案 刚刚遇到了另一个使用记录器任务的替代方案.更接近,因为您不必引入新目标. ..
发布时间:2021-11-22 16:41:15 Java Web开发

javac生成的class文件总是一样的吗?

目前,我们正在为一个大型项目(大约 2000 个源文件)重新编写所有构建系统的脚本,并且一直在谈论对文件进行二进制比较以确保一切正确,从而导致以下问题:javac 的输出是否保证在编译时相同,或者是否可以更改? 另一个问题 暗示常量池可能有不同的顺序,但假设我们能够控制进入 javac 调用的文件的顺序,那么仍然存在对于差异?我们将使用 Ant 和 Maven 作为构建的一部分,如果这也会影 ..
发布时间:2021-11-22 16:41:07 Java Web开发