在我的 Maven Java 应用程序中,我有一个内部触发 Ant 脚本的 pom.xml 文件,其中有一个包含 Java.io.File 相关实现的 Groovy 脚本(如下所示)。
<groovy>
def file_dir = new File(properties["file_path"])
def src_dir = new File(properties["source_dir"])
def file_list = properties["file_list"]
ant.echo(message:"Copying sources from " + src_dir)
new File(file_list).eachLine() { line ->
def file = new File(file_dir, line)
ant.copy(todir:file_dir, file:file, overwrite:"true")
}
</groovy>
从Java 11升级到Java 17后,编译时遇到以下错误:
java.lang.reflect.InaccessibleObjectException:无法使私有 java.io.File(java.lang.String,java.io.File) 可访问:模块 java.base 不会向未命名模块“打开 java.io” @72f9f27c
我尝试通过 pom.xml 文件传递 --add-opens=java.base/java.io=ALL-UNNAMED 参数,但问题仍然存在。有什么建议吗?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>--add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED</argLine>
</configuration>
</plugin>
<plugin>
按要求提供完整跟踪:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (create-dist) on project snapshot: An Ant BuildException has occured: The following error occurred while executing this line:
[ERROR] D:\SourceCode\snapshot\src\main\scripts\build.xml:29: The following error occurred while executing this line:
[ERROR] D:\SourceCode\snapshot\src\main\scripts\build.xml:50: java.lang.reflect.InaccessibleObjectException: Unable to make private java.io.File(java.lang.String,java.io.File) accessible: module java.base does not "opens java.io" to unnamed module @72e295cc
[ERROR] around Ant part ...<ant dir="D:\SourceCode\snapshot\src/main/scripts">... @ 5:119 in D:\SourceCode\snapshot\target\antrun\build-main.xml
[ERROR] -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (create-dist) on project snapshot: An Ant BuildException has occured: The following error occurred while executing this line:
D:\SourceCode\snapshot\src\main\scripts\build.xml:29: The following error occurred while executing this line:
D:\SourceCode\snapshot\src\main\scripts\build.xml:50: java.lang.reflect.InaccessibleObjectException: Unable to make private java.io.File(java.lang.String,java.io.File) accessible: module java.base does not "opens java.io" to unnamed module @72e295cc
around Ant part ...<ant dir="D:\SourceCode\snapshot/src/main/scripts">... @ 5:119 in D:\SourceCode\snapshot\target\antrun\build-main.xml
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: An Ant BuildException has occured: The following error occurred while executing this line:
D:\SourceCode\snapshot\src\main\scripts\build.xml:29: The following error occurred while executing this line:
D:\SourceCode\snapshot\src\main\scripts\build.xml:50: java.lang.reflect.InaccessibleObjectException: Unable to make private java.io.File(java.lang.String,java.io.File) accessible: module java.base does not "opens java.io" to unnamed module @72e295cc
around Ant part ...<ant dir="D:\SourceCode\snapshot/src/main/scripts">... @ 5:119 in D:\SourceCode\snapshot\target\antrun\build-main.xml
at org.apache.maven.plugin.antrun.AntRunMojo.execute (AntRunMojo.java:342)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.tools.ant.BuildException: The following error occurred while executing this line:
D:\SourceCode\snapshot\src\main\scripts\build.xml:29: The following error occurred while executing this line:
D:\SourceCode\snapshot\src\main\scripts\build.xml:50: java.lang.reflect.InaccessibleObjectException: Unable to make private java.io.File(java.lang.String,java.io.File) accessible: module java.base does not "opens java.io" to unnamed module @72e295cc
at org.apache.tools.ant.ProjectHelper.addLocationToBuildException (ProjectHelper.java:568)
at org.apache.tools.ant.taskdefs.Ant.execute (Ant.java:443)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:292)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.Project.executeTarget (Project.java:1364)
at org.apache.maven.plugin.antrun.AntRunMojo.execute (AntRunMojo.java:313)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.tools.ant.BuildException: The following error occurred while executing this line:
D:\SourceCode\snapshot\src\main\scripts\build.xml:50: java.lang.reflect.InaccessibleObjectException: Unable to make private java.io.File(java.lang.String,java.io.File) accessible: module java.base does not "opens java.io" to unnamed module @72e295cc
at org.apache.tools.ant.ProjectHelper.addLocationToBuildException (ProjectHelper.java:568)
at org.apache.tools.ant.taskdefs.Ant.execute (Ant.java:443)
at org.apache.tools.ant.taskdefs.CallTarget.execute (CallTarget.java:105)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:292)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets (SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets (Project.java:1248)
at org.apache.tools.ant.taskdefs.Ant.execute (Ant.java:441)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:292)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.Project.executeTarget (Project.java:1364)
at org.apache.maven.plugin.antrun.AntRunMojo.execute (AntRunMojo.java:313)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.tools.ant.BuildException: java.lang.reflect.InaccessibleObjectException: Unable to make private java.io.File(java.lang.String,java.io.File) accessible: module java.base does not "opens java.io" to unnamed module @72e295cc
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:116)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets (SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets (Project.java:1248)
at org.apache.tools.ant.taskdefs.Ant.execute (Ant.java:441)
at org.apache.tools.ant.taskdefs.CallTarget.execute (CallTarget.java:105)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:292)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets (SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets (Project.java:1248)
at org.apache.tools.ant.taskdefs.Ant.execute (Ant.java:441)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:292)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.Project.executeTarget (Project.java:1364)
at org.apache.maven.plugin.antrun.AntRunMojo.execute (AntRunMojo.java:313)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make private java.io.File(java.lang.String,java.io.File) accessible: module java.base does not "opens java.io" to unnamed module @72e295cc
at java.lang.reflect.AccessibleObject.checkCanSetAccessible (AccessibleObject.java:354)
at java.lang.reflect.AccessibleObject.checkCanSetAccessible (AccessibleObject.java:297)
at java.lang.reflect.Constructor.checkCanSetAccessible (Constructor.java:188)
at java.lang.reflect.Constructor.setAccessible (Constructor.java:181)
at org.codehaus.groovy.reflection.CachedConstructor.<init> (CachedConstructor.java:32)
at org.codehaus.groovy.reflection.CachedClass.getConstructors (CachedClass.java:237)
at groovy.lang.MetaClassImpl.<init> (MetaClassImpl.java:115)
at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.createNormalMetaClass (MetaClassRegistry.java:102)
at groovy.lang.MetaClassRegistry$MetaClassCreationHandle.create (MetaClassRegistry.java:92)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getGlobalMetaClass (MetaClassRegistryImpl.java:252)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.access$100 (MetaClassRegistryImpl.java:45)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getFromGlobal (MetaClassRegistryImpl.java:112)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$LocallyKnownClasses.getMetaClass (MetaClassRegistryImpl.java:88)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl$MyThreadLocal.getMetaClass (MetaClassRegistryImpl.java:361)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass (MetaClassRegistryImpl.java:265)
at org.codehaus.groovy.runtime.InvokerHelper.invokeConstructorOf (InvokerHelper.java:808)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeNewN (ScriptBytecodeAdapter.java:230)
at embedded_script_in_D__SourceCode_snapshot_src_main_scripts_build.run (embedded_script_in_D__SourceCode_snapshot_src_main_scripts_build.xml:2)
at org.codehaus.groovy.ant.Groovy.execGroovy (Groovy.java:350)
at org.codehaus.groovy.ant.Groovy.execute (Groovy.java:230)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:292)
at jdk.internal.reflect.GeneratedMethodAccessor10.invoke (Unknown Source)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets (SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets (Project.java:1248)
at org.apache.tools.ant.taskdefs.Ant.execute (Ant.java:441)
at org.apache.tools.ant.taskdefs.CallTarget.execute (CallTarget.java:105)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:292)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets (SingleCheckExecutor.java:38)
at org.apache.tools.ant.Project.executeTargets (Project.java:1248)
at org.apache.tools.ant.taskdefs.Ant.execute (Ant.java:441)
at org.apache.tools.ant.UnknownElement.execute (UnknownElement.java:292)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.apache.tools.ant.dispatch.DispatchUtils.execute (DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform (Task.java:348)
at org.apache.tools.ant.Target.execute (Target.java:435)
at org.apache.tools.ant.Target.performTasks (Target.java:456)
at org.apache.tools.ant.Project.executeSortedTargets (Project.java:1393)
at org.apache.tools.ant.Project.executeTarget (Project.java:1364)
at org.apache.maven.plugin.antrun.AntRunMojo.execute (AntRunMojo.java:313)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
根据堆栈跟踪:
Caused by: org.apache.tools.ant.BuildException: The following error occurred while executing this line: D:\SourceCode\snapshot\src\main\scripts\build.xml:29: The following error occurred while executing this line: D:\SourceCode\snapshot\src\main\scripts\build.xml:50: java.lang.reflect.InaccessibleObjectException: Unable to make private java.io.File(java.lang.String,java.io.File) accessible: module java.base does not "opens java.io" to unnamed module @72e295cc
问题出在 src\main\scripts uild.xml 的第 50 行。
根据我的分析(Groovy 尝试执行
new File(String, File)
),您可能会在那一行上交换参数,即类似
new File(line, file_dir)
而不是
new File(file_dir, line)
我不确定它是来自您包含的代码还是来自其他代码。
请注意,使用 Java 时,这将是一个编译时错误(因为您无法从其类外部调用私有构造函数),但 Groovy 无论如何都会尝试使用该构造函数(并且会失败,因为 Java 17 进一步限制了对 JDK 内部的访问,自 Java 9 以来一直在进行中。)