- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试通过 IntelliJ 中的 Stream Trace 调试下面代码中的流时,调试器无法评估 foreach,因为抛出了下面的错误。我不知道它是关于什么的,代码本身运行良好。
完全更新了 IntelliJ 社区版、JUnit 5、Spring Boot、Maven、Java 11。
仅在 Stream Trace 调试期间发生的错误:
java.lang.IncompatibleClassChangeError: Type com.progonkpa.file.FileService$GeneratedEvaluationClass$5 is not a nest member of com.progonkpa.file.FileService: types are in different packages
包含流的代码:
public class FileService {
public void createDirs(File parentDir, String[] fileNames) {
Stream.of(fileNames)
.map(fileName -> new File(parentDir, fileName))
.forEach(file -> {
if (file.mkdirs())
System.out.println("Created file: " + file);
else
System.err.println("Failed to create file: " + file);
});
}
}
调用上述方法的测试:
public class FileServiceTest {
private FileService fileService = new FileService();
@Test
public void generateDirs_createsList() {
File tmpDir = new File("/tmp");
String[] dirNamesList = {"dir1", "dir2"};
File createdDir1 = new File(tmpDir, dirNamesList[0]);
File createdDir2 = new File(tmpDir, dirNamesList[1]);
fileService.createDirs(tmpDir, dirNamesList);
assertTrue(createdDir1.exists());
assertTrue(createdDir2.exists());
assertTrue(createdDir1.delete());
assertTrue(createdDir2.delete());
assertTrue(tmpDir.delete());
}
}
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.unknown.somefunction</groupId>
<artifactId>joske</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java.version>11</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-test</artifactId>-->
<!--<scope>test</scope>-->
<!--</dependency>-->
<!--Data processing-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>org.simplejavamail</groupId>
<artifactId>simple-java-mail</artifactId>
<version>5.1.3</version>
</dependency>
<dependency>
<groupId>org.simplejavamail</groupId>
<artifactId>outlook-message-parser</artifactId>
<version>1.1.17</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>com.github.vatbub</groupId>
<artifactId>mslinks</artifactId>
<version>1.0.5</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.3.2</version>
<scope>test</scope>
</dependency>
<!--Testing-->
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
最佳答案
Stream 调试器显然生成字节码并动态定义类来计算表达式。相关源文件为
CompilingEvaluator.java
CompilingEvaluatorImpl.java
目前在 YouTrack 上有一个 Unresolved 问题,但有完全相同的异常(exception)情况
Type some.Type$GeneratedEvaluationClass$1 is not a nest member of some.Type: types are in different packages
这仅在大于 10 的 JDK 版本上表现出来,不幸的是你有
<java.version>11</java.version>
正如问题所暗示的那样,它发生是因为
JDK 11 has "Nest-based Access Control" feature
(https://cr.openjdk.java.net/~dlsmith/nestmates.html)
Impact on Other Tools
Any tool that operates on classfiles, or which generates or processes bytecodes is potentially impacted by these changes. At a minimum such tools must tolerate the presence of the new classfile attributes and allow for the change in bytecode rules. For example:
The javap classfile inspection tool, The Pack200 implementation, and The ASM bytecode manipulation framework, which is also used internally in the JDK.
关于java - 功能代码上的调试流跟踪抛出 IncompatibleClassChangeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55314726/
编译项目时,我得到这个晦涩的异常 Looking for precompiled archives. To disable, use -Dgwt.usearchives=false Loading
我使用 Byte Buddy (v0.5.2) 动态创建一个接口(interface)的“子类”(实际上,我想创建一个实现该接口(interface)的类)。在此类实例上调用的所有方法都应重定向到另一
当我尝试通过 IntelliJ 中的 Stream Trace 调试下面代码中的流时,调试器无法评估 foreach,因为抛出了下面的错误。我不知道它是关于什么的,代码本身运行良好。 完全更新了 In
我刚开始使用 Geb,在输入来自 Geb 之书的示例代码时遇到此错误: import geb.Browser Browser.drive { go "http://google.com/ncr
在我的一个类中使用函数“createBlobInfo”时,出现“IncompatibleClassChangeError”异常: java.lang.IncompatibleClassChangeEr
在学习了 Java 中的 Lambda 表达式之后,我尝试练习一些简单的示例。但仅在我的第一个示例中,我收到了以下错误。 Exception in thread "main" java.lang.In
关于 Google 新引入的统一原生广告和 this is the documentation link.,我们不断收到错误消息至少 0.2% 的错误来自这种情况,所以它实际上很重要,我不认为它也是
我正在使用 Admob 中介从多个不同的发布商发布商那里拉取广告。我的 flurry 横幅广告似乎没有被正确拉出。我在控制台日志中看到以下错误: java.lang.IncompatibleClass
从 android 市场,我得到以下崩溃报告。我在测试我的应用程序时没有找到。崩溃发生在 PasswordActivity 类中。我正在发送堆栈跟踪和代码。谁能告诉我崩溃发生在哪里以及为什么会发生?
我向我的 Android 项目添加了一个 espresso 测试,并在创建 ActivityTestRule 的行上遇到了 IncompatibleClassChangeError。我如何找出导致它的
Espresso 测试运行良好,但在尝试检查是否出现 toast 消息时,使用此代码 onView(withText(R.string.added_successfully_msg)).inRoot(
尝试使用ScalaCheck和ScalaTest编写测试时,我遇到了一个令人讨厌的异常。这是我的依赖项: libraryDependencies ++= Seq( "org.scalatest"
在运行测试用例时,出现此异常 java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.
This question already has answers here: What causes java.lang.IncompatibleClassChangeError? (18个回答)
我正在尝试在 Maven 项目上导入 CPLEX(使用 Ubuntu 16.04)。 所以我使用以下命令将 cplex.jar 添加到 Maven 存储库:mvn install:安装文件-Dgrou
我知道这个问题已经被问过了,但不知何故,在谷歌搜索了大约一个小时后,我找不到任何令人信服的解决方案。 我正在使用 apache-jena 从 url 加载 RDF 模型。我得到 Incompatibl
java.lang.IncompatibleClassChangeError: Superclass com.google.android.gms.dynamic.zzg of com.google.
将 3.1.0.RELEASE Spring WAR 文件部署到 Tomcat 服务器时发生以下错误: java.lang.IncompatibleClassChangeError: class or
我将 Java 库打包为 JAR,当我尝试从中调用方法时,它会抛出许多 java.lang.IncompatibleClassChangeError。这些错误似乎是随机出现的。哪些问题可能导致此错误?
我正在尝试将应用程序部署到 Windows 服务器上的 Tomcat 7。我设置了一个本地副本并使用 Eclipse 进行了测试,没有遇到任何问题,但是在生产服务器上我收到了 Incompatible
我是一名优秀的程序员,十分优秀!