问题标签 [javac]

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.

0 投票
5 回答
4279 浏览

java - 枚举定义中的静态上下文

Javaenum工具提供的语法糖有时会有点混乱。考虑这个不编译的例子:

谁能解释为什么编译器说

不能从静态上下文中引用非静态方法“helper()”

这个上下文究竟是如何静态的?

您可以通过将调用更改为(这是一个令人困惑的点:如果我们真的像编译器建议的那样处于“静态上下文”中,“ ”如何工作?)或通过将可见性提高到默认级别来进行编译。你更喜欢哪个?另外,请随时提出更好的问题标题:-)this.helper()thishelper()

编辑:我发现了一些关于这个的讨论- 但没有真正的答案。我的同事认为这实际上this.helper()是一个编译器错误。实际上,对于较新的 Java 版本,它似乎不起作用(尽管super.helper()确实如此):“找不到符号 helper()”。(尽管发生了一些奇怪的事情:在尝试了不同的 Java 版本之后,我无法this.helper()再次使用它们中的任何一个进行编译......)

0 投票
8 回答
743 浏览

java - 哪些设置会影响已编译的 java .class 文件的布局?你怎么知道两个编译的类是否相等?

我有一个使用内置 Eclipse“编译”任务编译的应用程序。然后我决定将构建过程移到 Ant 中javac,结果文件变小了。

后来我发现将调试级别调整为"vars,lines,source"可以嵌入与 Eclipse 相同的调试信息,并且在很多情况下,文件的大小完全相同,但内部布局不同。因此,我无法使用 md5sum 签名来确定它们是否完全相同。

除了调试信息之外,两个据称相等的文件获得不同的内部布局或大小的原因可能是什么?

以及如何比较已编译的 .class 文件?

0 投票
5 回答
13109 浏览

java - 从 Java 运行 Ant 时设置 JAVA_HOME

原因很长而且很无聊,但是我需要运行一个 Ant 脚本来从 Java 1.4 应用程序编译 Java 1.5 代码。不过,我不断收到此错误:

在我的代码中,我有:

但它忽略了它。我也尝试过 p.setUserProperty(String, String),但这也不起作用。有没有办法在不启动单独进程的情况下做到这一点?

0 投票
8 回答
2775 浏览

java - 为什么 javac 1.5 与 Eclipse 编译器相比运行如此缓慢?

我有一个 Java Maven 项目,其中包含大约 800 个源文件(一些由 javacc/JTB 生成),使用 javac 编译需要 25 分钟。

当我将 pom.xml 更改为使用 Eclipse 编译器时,编译大约需要 30 秒。

关于为什么 javac (1.5) 运行如此缓慢的任何建议?(我不想永久切换到 Eclipse 编译器,因为 Maven 的插件似乎有点小错误。)

我有一个很容易重现问题的测试用例。以下代码在默认包中生成了一些源文件。如果您尝试使用 javac 编译 ImplementingClass.java,它似乎会暂停很长时间。

0 投票
3 回答
1643 浏览

java - Javac标志禁止原始类型?

是否可以传递任何 Java 编译器标志来告诉编译器不允许使用原始类型?也就是说,对于任何泛型类,让编译器强制使用参数化版本,否则抛出编译错误?

0 投票
4 回答
1058 浏览

java - 您是否使用(或定义)非标准注释,以及出于什么原因。递归注释怎么样?

这个问题说明了一切。

对于专家来说,SUN java 5 编译器接受递归注释(与 langspec 相反)是否有原因,而后来的编译器不接受?我的意思是,反对递归注释的论据可能是什么。

编辑:递归注释类似于:

0 投票
3 回答
917 浏览

eclipse - Eclipse 编译器或 javac 中的错误?

谁是对的?Eclipse 还是 javac?

--------------- c/v/A.java ---------------

--------------- c/v/B.java ---------------

Eclipse 编译 B.java 就好了。

Javac 有问题。

0 投票
5 回答
7102 浏览

java - 更快的 javac/ant?

我发现 java 对我来说几乎是立即启动并运行 - 但 javac 需要几秒钟,而 ant 又让它变慢了。只有几秒钟,但没有它我的编辑-编译-测试循环会更顺畅。:-)

顺便说一句:我已经在 ant 中使用过 vim 的 ":make"。

有没有办法加快 javac 和/或 ant 的速度?我正在考虑特殊的开关或技巧?或者也许是一个替代的java编译器(我在linux中使用1.6)

0 投票
4 回答
36127 浏览

java - 我可以使用 JAVAC 编译具有多个文件和目录的项目吗?

我正在处理一个非常大的项目,该项目在多个目录中具有关联的类文件,所有这些文件都源自根目录 \src。

我正在尝试在 src\solution\(称为 Console.java)中编译一个文件,该文件使用来自 src 中其他目录的导入,这些目录仍未编译。

因此,如果我想在 IDE 之外编译 Console.java,我该怎么做呢?哦,是的,我还有一些需要包含在构建中的外部 JAR。

谢谢!我很感激!

0 投票
2 回答
1292 浏览

eclipse - 如何自动编译大型 Java 项目?

我正在为我的雇主做一个自动化项目。我们的源代码的每个修订版都有一个池。当你下载一个修订版时,你需要创建一个包含一堆第三方包含的目录结构来最终构建项目。我已经自动化了整个过程,直到让我的脚本 (.bat) 编译每个特定的可运行 Java 应用程序。这个项目有很多应用程序,目录列表如下所示:

现在,我想做一个 con.java 的自动编译,但我不知道从哪里开始。人们建议我尝试使用 Ant,但我使用 Eclipse 生成的任何自动 Ant 文件似乎只足以在存在活动项目文件的情况下构建 con.java。无论如何在不使用eclipse的情况下自动执行此操作,以使批处理文件自己生成一个.jar?