問題タブ [java-16]
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.
java - java.lang.IllegalArgumentException Allatori エラー
ちょっと私はこの難読化ツールhttp://www.allatori.com/を使用していますが、奇妙なエラーが発生し、修正方法がわかりません。問題は難読化されたjarスポットにあり、混乱する通常のソースファイルではないようです。Allatori の設定と関係があるのではないかと思います。
エラー: `
`
POM:
アラトリ構成:
maven - テスト中にフォーク数がゼロに等しい場合にのみ ${maven.projectBasedir}/.mvn/jvm.config が考慮されるのはなぜですか?
次のエラーを修正するために、.mvn/jvm.config
Maven 3.8.1 と Maven Surefire プラグイン 3.0.0-M5 を OpenJDK 16 と共に使用します。--add-opens=java.base/java.lang=ALL-UNNAMED
java.lang.reflect.InaccessibleObjectException: Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throw java.lang. .ClassFormatError アクセス可能: モジュール java.base は、名前のないモジュール @319aa9ee に対して「java.lang を開きません」
Maven を機能させるために、なぜ-DforkCount=0
Maven に渡す必要があるのですか? フォークされていない VM を強制せずに単独で.mvn/jvm.config
実行すると、無視されるようです。mvn install
よりクリーンなソリューションはありますか?
次のプロジェクトを使用して、私の問題を再現できます: https://jogamp.org/cgit/ardor3d.git/
PS: この問題は EasyMock 4.3 が原因です。これは、Java 16 をサポートすると主張する内部で Objenesis を使用しており、いくつかの微調整でサポートされています。sun.misc.Unsafe は言及されていますが、上記の方法ではありません。
PS 2: スタック トレースは、Java 17 をまだサポートしていないcglib に言及しています:
原因: org.easymock.cglib.core.CodeGenerationException: java.lang.reflect.InaccessibleObjectException-->保護された最終的な java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[] を作成できません,int,int,java.security.ProtectionDomain) が java.lang.ClassFormatError をスローします。
参照: https://maven.apache.org/docs/3.8.1/release-notes.html#JVM_and_Command_Line_Options