Groovy方法名称(java.lang.ClassFormatError:非法方法名称)

Groovy方法名称(java.lang.ClassFormatError:非法方法名称),java,groovy,Java,Groovy,我们有用Groovy编写的JUnit测试,大多数方法标识符都包含句点。这是一个例子: import org.junit.Assert import org.junit.Test class MethodNameTest { @Test void "test with ... dots "() { Assert.assertTrue(false); } } 这是使用Groovy2.4.15和JDK8实现的。但是,在更新到JDK 11之后,我们现在出现了

我们有用Groovy编写的JUnit测试,大多数方法标识符都包含句点。这是一个例子:

import org.junit.Assert
import org.junit.Test

class MethodNameTest {

    @Test
    void "test with ... dots "() {
        Assert.assertTrue(false);
    }
}
这是使用Groovy2.4.15和JDK8实现的。但是,在更新到JDK 11之后,我们现在出现了“非法方法名”错误:

我们还尝试将groovy更新到2.5.9,但仍然会出现此错误。在使用jdk 11时,有没有办法解决这个问题

我们已经读到点字符不在有效java标识符列表中(根据),但是我们想知道为什么groovy可以在JDK 8上支持它,而在JDK 11上不支持它。我们可以修改测试以适应,但如果有人能够解释如何以及为什么会发生这种情况,我们将不胜感激

谢谢

编辑
我通过Intellij IDEA运行测试。我们有一个gradle项目,它使用groovy作为依赖项。

您是如何运行测试的?我认为Java 9@chrylis onstrike中发生了一些变化-我通过Intellij IDEA运行测试。我们有一个gradle项目,其中包括各种JAR,包括groovy(用于编写测试),我怀疑JVM开始专门使用
/
字符来携带模块和包信息,但这只是猜测。
Exception in thread "main" java.lang.ClassFormatError: Illegal method name "test with ... dots " in class MethodNameTest
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)