我有一个名为StaticInitializer.class的类文件,它成功地混淆了。当我解压缩它的时候,我得到了下面的结果,其中IDE给出了编译器错误"Cannot return from within an initializer“。删除"return“语句可以解决这个问题。但实际上,我想知道的是,如果类文件在静态初始化器中有return语句,那么它是如何正确工作的。
java文件的编译和运行阶段之间是否存在不匹配,混淆检测并使用它们作为混淆的一种方式?
反编译代码
public class StaticInitializer {
static {
在我的jenkins机器上,据我所知,我有两个Java安装:
[1041][root@server:/tmp]$ alternatives --display java
java - status is manual.
link currently points to /logiciels/jdk/jdk1.7.0_76_Linux_64bits/jre/bin/java
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - priority 16000
我只将jdk 7配置为可以在我的作业中使用。但是,当我完成自由泳的任务时,我总能得到
Caus
问题所在
我需要使用JDK10来编译我必须处理的遗留项目。我知道这是一个短期的支持版本,其生命周期已经结束。但是在将项目更新到更新的Java版本之前,我需要能够在我的开发机器上构建和运行它。
注意:该项目确实正确地构建在其CI管道上,并在生产环境上运行。这个问题与项目无关,而与我的机器有关。
我遇到的问题是,我无法用JDK10编译任何java代码,但是其他JDK(如8、9、11、12和17 do work )。
重现问题
为了展示我的问题,我正在编写一个简单的hello程序Test.java。
public class Test {
public static void mai
如何修复此错误。我在手机上使用android工作室,使用Linux部署和Ubuntu。已安装打开jdk,而不是oracle jdk。此错误出现在构建apk时。在此之前,gradle构建是成功的。日志太大了,我不知道从哪里开始
Java.utils.cuncurrent.ExecutionException: java.lang.RuntimeException:no server to serve request. Check log for detail
编辑:这个错误显示在gradle控制台中
AAPT err(faced for 340422075): /root/android/sdk
我正在尝试使用Java 11作为我的Java家庭作业。它在我的OS机器上运行良好,但我的机器上安装了JDK13。我的老师使用的是Ubuntu,没有安装最新的java。我怎样才能让Bazel使用JAVA 11,而不需要我的教师更新他的JDK。
我的.bazelrc如下:
test --test_output=errors
test --cache_test_results=yes
test --java_toolchain=@bazel_tools//tools/jdk:toolchain_java11
当我跑的时候:
bazel test java/test/edu/berkeley/cs