Could not instrument class IllegalArgumentException

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-07 10:08:10

问题


While learning and exploring Java 9 from eclipse. I create a simple project in eclipse, Although when I compile the project, it prints the program's expected result but along following exception too.

Could not instrument class mymodule/App: java.lang.IllegalArgumentException
    at org.eclipse.jdt.launching.internal.org.objectweb.asm.ClassReader.<init>(Unknown Source)
    at org.eclipse.jdt.launching.internal.weaving.ClassfileTransformer.transform(ClassfileTransformer.java:25)
    at org.eclipse.jdt.launching.internal.javaagent.Premain$1.transform(Premain.java:51)
    at java.instrument/java.lang.instrument.ClassFileTransformer.transform(Unknown Source)
    at java.instrument/sun.instrument.TransformerManager.transform(Unknown Source)
    at java.instrument/sun.instrument.InstrumentationImpl.transform(Unknown Source)
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
    at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
    at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Unknown Source)
    at java.base/sun.launcher.LauncherHelper.loadMainClass(Unknown Source)
    at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Java code:

package mymodule;

import java.util.List;

public class App {

    public static void main(String[] args) {
        List<String> immutables = List.of("Food", "Water", "House");
        System.out.println(immutables.get(0));
    }

}

module-info.java file

module mymodule { 

}

回答1:


Seems like Eclipse is yet to migrate to ASM_6.0 which is completely Java 9 compatible.

On the other hand you're looking at the stacktrace which is similar to BUG#526383 and you can follow the same for updates.



来源:https://stackoverflow.com/questions/47108914/could-not-instrument-class-illegalargumentexception

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!