Guice: 警告:不正なリフレクティブアクセス操作が発生しました

作成日 2018年10月18日  ·  10コメント  ·  ソース: google/guice

警告:不正なリフレクティブアクセス操作が発生しました
警告:com.google.inject.internal.cglib.core。$ ReflectUtils $ 1による不正なリフレクティブアクセス(ファイル:/C:/Users/javie/.m2/repository/com/google/inject/guice/4.2.1/guice -4.2.1.jar)からメソッドjava.lang.ClassLoader.defineClass(java.lang.String、byte []、int、int、java.security.ProtectionDomain)
警告:これをcom.google.inject.internal.cglib.core。$ ReflectUtils$1のメンテナに報告することを検討してください
警告:--illegal-access = warnを使用して、さらに違法なリフレクティブアクセス操作の警告を有効にします
警告:将来のリリースでは、すべての不正アクセス操作が拒否されます

この警告は、プロジェクトをコンパイルするとプロジェクトに表示されます。 Guice 4.2.1(maven)とJDK10を使用しています
Travisビルドを確認しましたが、travisCIにも警告が表示されているようです。

https://travis-ci.org/google/guice/jobs/440573805#L1747

クイックフィックスはありますか?

最も参考になるコメント

ご挨拶、
Guiceベースのアプリケーションを起動すると、Outチームで次のエラーが発生します。

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/home/raw/lib/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

これまでのところ、これは問題を引き起こしていませんが、OpenJDKの更新がより制限的/安全になっている速度を考えると、少し心配しています。

次のDockerイメージを実行しています。
ベースイメージ:Ubuntu 18.04
Javaバージョン:OpenJDK_11.0.5.10(AdoptOpenJDK)
gradleバージョン:5.4.1
guiceバージョン:4.2.2

全てのコメント10件

#1133の複製

JDK 10はまだ半分焼き付けられたjvmなので、JDK 10では移動することを強くお勧めしますが、Guice4.2ではこれらのいずれも経験していません。 java.langを開くことも、JDK 10では必要ありませんでしたが、JDK11では必要です。

修正は非常に簡単です...
System.setProperty("com.google.inject.internal.cglib。$experimental_asm7"、 "true");

それで
--add-java.base / java.lang = com.google.guice、javassistを開きます

4.2.2に基づいた完全にモジュール化されたguiceアーティファクトをリリースしました
すべての拡張機能も

0.70.0.1はMavenCentralに行くのに忙しい

guice: https ://search.maven.org/artifact/com.guicedee.services/guice/

利用可能なすべてのguice拡張機能-

現在のサイトhttps://guicedee.com/-永続性までページを完成させ、週末までにすべて完成させる必要があります。

こんにちは、みんな、
テストターゲットを使用したMavenプロジェクトでこのエラーが発生します。 使用する
JDK 13(openJDK 13.0.1)
Surefireプラグイン3.0.0-M4
Mavenバージョン3.3.9

警告:com.google.inject.internal.cglib.core。$ ReflectUtils$1による不正なリフレクティブアクセス

@ alan-hwp UbuntuのMavenのカスタムディストリビューションを使用していますか? 公式のMavenディストリビューションでは、CGLIBコードを含まないGuiceの「no-AOP」ビルドを使用しています。 https://maven.apache.org/から公式ディストリビューションをダウンロードした場合、警告は表示されないはずです。

ご挨拶、
Guiceベースのアプリケーションを起動すると、Outチームで次のエラーが発生します。

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/home/raw/lib/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

これまでのところ、これは問題を引き起こしていませんが、OpenJDKの更新がより制限的/安全になっている速度を考えると、少し心配しています。

次のDockerイメージを実行しています。
ベースイメージ:Ubuntu 18.04
Javaバージョン:OpenJDK_11.0.5.10(AdoptOpenJDK)
gradleバージョン:5.4.1
guiceバージョン:4.2.2

Guice4.2.3にも存在

WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/home/xxxxx/.m2/repository/com/google/inject/guice/4.2.3/guice-4.2.3.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)

環境:
Ubuntu 20.04.1 LTS
openjdkバージョン「11.0.7」2020-04-14
OpenJDKランタイム環境AdoptOpenJDK(ビルド11.0.7 + 10)
OpenJDK64ビットサーバーVMAdoptOpenJDK(ビルド11.0.7 + 10、混合モード)


IntelliJ IDEA 2020.2(Ultimate Edition)
ビルド#IU-202.6397.94、2020年7月27日にビルド
サブスクリプションは2020年11月13日まで有効です
ランタイムバージョン:11.0.7 + 10-b944.20 amd64
VM:JetBrainssroによるOpenJDK64ビットサーバーVM
Linux5.4.0-42-ジェネリック
GC:ParNew、ConcurrentMarkSweep
レジストリ:compiler.automake.allow.when.app.running = true
バンドルされていないプラグイン:Key Promoter X、Axis TCP Monitor Plugin、com.intellij.kubernetes、aws.toolkit、org.intellij.scala、com.intellij.bigdatatools、com.jetbrains.edu、トレーニング
現在のデスクトップ: ubuntu:GNOME


Apache Maven 3.6.3
Mavenホーム:/ usr / share / maven
Javaバージョン:11.0.7、ベンダー:AdoptOpenJDK、ランタイム: /home/dever/.jabba/jdk/[email protected]
デフォルトのロケール:en_US、プラットフォームエンコーディング:UTF-8
OS名: "linux"、バージョン: "5.4.0-42-generic"、アーチ: "amd64"、ファミリ: "unix"



スタックトレース:

## スタックトレース

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Unable to load cache item

    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2051)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3953)
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3976)
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4960)
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4966)
    at com.google.inject.internal.FailableCache.get(FailableCache.java:54)
    at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:49)
    at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:155)
    at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:606)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:943)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:863)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:300)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:231)
    at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:949)
    at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:48)
    at com.google.inject.internal.ProcessedBindingData.runCreationListeners(ProcessedBindingData.java:60)
    at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:135)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:108)
    at com.google.inject.Guice.createInjector(Guice.java:87)
    at com.google.inject.Guice.createInjector(Guice.java:69)
    at com.google.inject.Guice.createInjector(Guice.java:59)
    at dev.logwood.designpatterns.types.structural.proxy.image.ProxyImageTest.<init>(ProxyImageTest.java:15)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at org.junit.platform.commons.util.ReflectionUtils.newInstance(ReflectionUtils.java:511)
    at org.junit.jupiter.engine.execution.ConstructorInvocation.proceed(ConstructorInvocation.java:56)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
    at org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestClassConstructor(InvocationInterceptor.java:72)
    at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
    at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
    at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:77)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:333)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:280)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:77)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:262)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:256)
    at java.base/java.util.Optional.orElseGet(Optional.java:369)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:255)
    at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:108)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:107)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:71)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
    at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:248)
    at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$5(DefaultLauncher.java:211)
    at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:226)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:199)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:132)
    at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:220)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:53)
Caused by: java.lang.IllegalStateException: Unable to load cache item
    at com.google.inject.internal.cglib.core.internal.$LoadingCache.createEntry(LoadingCache.java:79)
    at com.google.inject.internal.cglib.core.internal.$LoadingCache.get(LoadingCache.java:34)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:119)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:294)
    at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
    at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:258)
    at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:207)
    at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:49)
    at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:156)
    at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:94)
    at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:30)
    at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:38)
    at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:34)
    at com.google.inject.internal.FailableCache$1.load(FailableCache.java:43)
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3529)
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2278)
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2155)
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2045)
    ... 84 more
Caused by: java.lang.ExceptionInInitializerError
    at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate(DuplicatesPredicate.java:104)
    at com.google.inject.internal.cglib.core.$CollectionUtils.filter(CollectionUtils.java:52)
    at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:69)
    at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:77)
    at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator.generate(AbstractClassGenerator.java:332)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:96)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:94)
    at com.google.inject.internal.cglib.core.internal.$LoadingCache$2.call(LoadingCache.java:54)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at com.google.inject.internal.cglib.core.internal.$LoadingCache.createEntry(LoadingCache.java:61)
    ... 101 more
Caused by: com.google.inject.internal.cglib.core.$CodeGenerationException: 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) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module <strong i="40">@6e2829c7</strong>
    at com.google.inject.internal.cglib.core.$ReflectUtils.defineClass(ReflectUtils.java:464)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator.generate(AbstractClassGenerator.java:339)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:96)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:94)
    at com.google.inject.internal.cglib.core.internal.$LoadingCache$2.call(LoadingCache.java:54)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at com.google.inject.internal.cglib.core.internal.$LoadingCache.createEntry(LoadingCache.java:61)
    at com.google.inject.internal.cglib.core.internal.$LoadingCache.get(LoadingCache.java:34)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:119)
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:294)
    at com.google.inject.internal.cglib.core.$KeyFactory$Generator.create(KeyFactory.java:221)
    at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:174)
    at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:157)
    at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:149)
    at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:145)
    at com.google.inject.internal.cglib.core.$MethodWrapper.<clinit>(MethodWrapper.java:23)
    ... 112 more
Caused by: 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) throws java.lang.ClassFormatError accessible: module java.base does not "opens java.lang" to unnamed module <strong i="41">@6e2829c7</strong>
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
    at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198)
    at java.base/java.lang.reflect.Method.setAccessible(Method.java:192)
    at com.google.inject.internal.cglib.core.$ReflectUtils$1.run(ReflectUtils.java:61)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.google.inject.internal.cglib.core.$ReflectUtils.<clinit>(ReflectUtils.java:52)
    at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:67)
    ... 109 more

👋こんにちは、私にとってまったく同じ問題です...

Apache Maven 3.6.3
Maven home: /usr/share/maven
Java version: 11.0.9.1, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: fr_FR, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-56-generic", arch: "amd64", family: "unix"
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

バージョン

  • guice :4.2.3

こんにちは@antoinedvd (およびUbuntuのMavenビルドを使用している他の人)これは、UbuntuのMavenビルドでのみ発生します。これは、AOP対応のGuicejarで再バンドルされているためです。公式のApache/ Mavenディストリビューションには、AOPなしのGuicejarが付属しています。この警告はありません。

公式のMavenディストリビューションはhttps://maven.apache.org/download.cgiからダウンロードできます。

こんにちは@mcculls 、そうですね。 あなたのアドバイスをありがとう、それはうまくいきます!

このページは役に立ちましたか?
0 / 5 - 0 評価