问题标签 [javacompiler]

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 投票
2 回答
545 浏览

android - Java 编译器错误,无法解析 R,构建失败

我是新手,我的脚本有问题

希望你们帮助我

在这张图片中,My R script 无法解析,My Build failed,Java Compiler error

在此处输入图像描述

此构建失败日志

和这个 Java 编译器错误日志

供参考

我已经从各种来源(例如这个网络上的线程、谷歌和 youtube 上的线程)做了所有的方法来解决这个问题,但都没有奏效我真的希望你们中的一些人能够帮助我解决这个问题

谢谢你

0 投票
3 回答
4649 浏览

java - 如何避免 IntelliJ 重置语言级别?

我遇到了这个问题,这个问题已经在这个网站上得到了多次回答。

我对这个问题的看法有点不同。我有一个使用 maven 3.5.x 和 java release 10 构建良好的项目(在 maven-compiler-plugin 中配置)查看 IntelliJ 的项目结构时,所有模块都有语言级别 10(但项目设置是语言级别 6 和项目结构中选择的sdk是1.8...

但是,即使我将 sdk 更改为 java 10 并将项目语言级别更改为 10,仍然会出现下面粘贴的错误... ????

我的 IntelliJ 版本:IntelliJ IDEA 2018.2.5

要重现此错误:

信息:java:编译模块“jactor-commons”时发生错误信息:javac 10.0.1 用于编译 java 源信息:29/10/2018,21:31 - 编译完成,4 秒内出现 1 个错误和 0 个警告 777 ms 错误:java:不支持发布版本 5

0 投票
0 回答
334 浏览

javacompiler - Janino 在 android 应用程序中创建一个 java 代码游乐场

我正在尝试创建一个 java 学习 android 应用程序。它应该有一个供用户使用的代码游乐场;可以运行简单的java代码。我将用户代码保存在 java 代码中并尝试运行它。我正在使用 JANINO ,但问题是我无法加载包括用户代码在内的外部类。这是我的代码;

这是 JANINOs 教程;阅读“源代码编译器”部分 http://janino-compiler.github.io/janino/

谢谢。

0 投票
1 回答
401 浏览

java - 如何在没有 JDK 的情况下使用 tools.jar 中的 JavaCompiler

我正在尝试创建一个可以.java在运行时编译提供的文件的应用程序。我知道tools.jarJDK 中有一个可用的程序编译器。但是,我不能保证应用程序的用户有 JDK。我试图tools.jar在应用程序中打包并将其作为库引用。当我tools.jar添加到类路径的引导条目中时,这似乎在 Eclipse IDE 中起作用。将应用程序导出到可运行的 jar(与tools.jar它一起打包)时, ToolProvider.getSystemJavaCompiler();返回null. 我不确定问题是什么,但我相信这可能与应用程序导出到可运行 jar 时类路径的引导条目未正确保留有关。有任何想法吗?tools.jar我可以使用编译器的替代品吗?感谢您的耐心等待,因为这是我在这里发布的第一个问题!

0 投票
0 回答
314 浏览

java - 是否可以在 Java 中替换依赖库的方法的实现?

我们有一种情况,我们正在使用某个库,我们想自定义库中使用的一个小型私有方法的逻辑。不幸的是,该库编写得不好,无法扩展。

所以基本上,想象一下如果我们有一个ClassA像这样的类的库:

该类ClassA由该类在库中使用ClassBClassB在库中被ClassC等等使用。ClassB使用如下代码在构造函数中创建它的依赖项classA = new ClassA();(不幸的是)。使用类似;ClassC的代码在构造函数中创建其依赖项。classB = new ClassB()等等。

我们想强制每个使用方法buildMessage()的人ClassA来获取Hello, Kitty!消息而不是Hello, World!(即我们需要将私有方法的实现替换buildSuffixString()为我们自己的实现)。有没有办法通过使用反射或Java编译器或其他东西来改变私有方法的逻辑?

0 投票
1 回答
161 浏览

java - 如何在 javax.tools.JavaCompiler 的类路径中使用远程 jar

JavaCompiler用来编译 .java 代码。

它在运行URLClassLoader用于加载远程 jar 编译的类时对我有用。但在编译时不起作用。

尝试使用类似的选项

还尝试使用自定义JavaFileManager的 with URLClassLoader

它们都不起作用。

0 投票
1 回答
188 浏览

java - 使用“内部”JavaCompiler 时如何设置引导类路径

您如何解决以下警告

当使用内部JavaCompiler

示例代码(根据我的源代码稍作修改):

我尝试的显而易见的事情是-bootclasspathcompilerOptions上面的示例代码中提供。但是您只能在Option.OptionGroup.BASIC组中提供选项(事实并非如此)。

编辑:更多信息:我正在使用 OpenJdk11,我收到了最多 10 个源的警告。

0 投票
1 回答
780 浏览

spring-boot - 在运行时编译具有对嵌套 jar 的依赖项的 Java 类

在 Spring Boot 应用程序中,我在运行时执行以下操作:

  1. 生成 Java 类
  2. 编译它
  3. 使用反射访问编译类的一些静态字段。

我的代码基于这篇文章,但在运行时编译生成的类时遇到问题。在 IDE 中运行时编译工作正常,但从 Spring Boot 运行时 jar 编译失败,提示符号丢失或某些包不存在。我正在编译的类依赖于位于 jar 下的其他类,\BOOT-INF\lib\并且编译器似乎无法使用现有的类加载器加载这些类。

我已经关注了这篇文章,它假设可以解决这个特定问题,但我UnsupportedOperationException来自方法

的界面JavaFileManager

我在这里遇到了另一种可能的解决方案,但我不清楚完整的实现。

在运行时编译类时,这似乎是一个众所周知的问题,是否有任何明确的解决方案?

我目前正在使用 Java 10.0.2。

0 投票
1 回答
8209 浏览

java - com.android.builder.dexing.DexArchiveMergerException:合并 dex 档案时出错:

我无法编译我的项目,场景我使用 Android Studio 的“将 Java 文件转换为 Kotlin 文件”将我的一项活动转换为 kotlin,并修复了未正确转换的代码的所有错误。

Java编译器日志:

原因:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:合并 dex 档案时出错:


com.android.builder.dexing.DexArchiveMergerException:合并 dex 档案时出错:



com.android.tools.r8.CompilationFailedException :编译未能完成



com.android.tools.r8.utils.AbortException:错误:null,无法在单个 dex 文件中容纳请求的类(#方法:110666 > 65536;#字段:67264 > 65536)


build.gradle(应用程序)


build.gradle(项目)

0 投票
0 回答
36 浏览

java - Java 编译器会在编译期间计算常量表达式吗?

我注意到枚举值的java.util.concurrent.TimeUnit方法类似于: public long toMillis(long d) { return x(d, C3/C2, MAX/(C3/C2)); }

表达式C3/C2MAX/(C3/C2)计算是在编译期间还是在运行时计算的?