为什么 eclipse 2023-06 无法复制符号链接的 maven 资源

问题描述 投票:0回答:1

Eclipse 2023-06 包括新的 M2E 2.3.0,后者又包括 Maven 3.9(从 3.8 升级)。默认情况下,新的 Maven 版本使用 maven-resources v3.3.0 插件。当尝试使用符号链接文件构建现有项目时,出现以下错误:

Failed to execute mojo org.apache.maven.plugins:maven-resources-plugin:3.3.0:resources {execution: default-resources} (org.apache.maven.plugins:maven-resources-plugin:3.3.0:resources:default-resources:process-resources)

org.eclipse.core.runtime.CoreException: Failed to execute mojo org.apache.maven.plugins:maven-resources-plugin:3.3.0:resources {execution: default-resources}
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeMojo(MavenExecutionContext.java:340)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.lambda$0(MavenExecutionContext.java:291)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:290)
    at org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:57)
    at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.lambda$1(MavenBuilderImpl.java:139)
    at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721)
    at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:122)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:164)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$1(MavenBuilder.java:109)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:228)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.lambda$0(MavenBuilder.java:100)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:394)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:275)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:214)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:83)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:192)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:1020)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:247)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:392)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:395)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:506)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:454)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:536)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:196)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:289)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.apache.maven.plugin.MojoExecutionException: copying /home/test.git/testProject/src/main/resources/I18NConstants_da.properties to /home/test.git/testProject/target/classes/I18NConstants_da.properties failed with NoSuchFileException: /home/test.git/testProject/target/classes/I18NConstants_da.properties
    at org.apache.maven.plugins.resources.ResourcesMojo.execute(ResourcesMojo.java:362)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
    at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeMojo(MavenExecutionContext.java:338)
    ... 32 more
Caused by: org.apache.maven.shared.filtering.MavenFilteringException: copying /home/test.git/testProject/src/main/resources/I18NConstants_da.properties to /home/test.git/testProject/target/classes/I18NConstants_da.properties failed with NoSuchFileException: /home/test.git/testProject/target/classes/I18NConstants_da.properties
    at org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile(DefaultMavenFileFilter.java:118)
    at org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filterResources(DefaultMavenResourcesFiltering.java:277)
    at org.apache.maven.plugins.resources.ResourcesMojo.execute(ResourcesMojo.java:356)
    ... 34 more
Caused by: java.nio.file.NoSuchFileException: /home/test.git/testProject/target/classes/I18NConstants_da.properties
    at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:92)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
    at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
    at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setMode(UnixFileAttributeViews.java:277)
    at java.base/sun.nio.fs.UnixFileAttributeViews$Posix.setPermissions(UnixFileAttributeViews.java:299)
    at java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2167)
    at org.apache.maven.shared.filtering.FilteringUtils.copyFilePermissions(FilteringUtils.java:477)
    at org.apache.maven.shared.filtering.FilteringUtils.copyFile(FilteringUtils.java:457)
    at org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile(DefaultMavenFileFilter.java:110)
    ... 36 more
eclipse maven symlink
1个回答
0
投票

原因是以下错误MSHARED-1112,该错误是在 maven-resources-plugin 3.2.0 中引入的,并在 3.3.1 中修复。

您可能还会遇到另一个错误:MRESOURCES-265,这会导致资源文件包含以下内容: ISO-8859-1编码打破maven资源过滤。

我通过降级到版本 3.1.0 缓解了这些问题,如下所示:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
            ...
        </plugins>
    </build>
© www.soinside.com 2019 - 2024. All rights reserved.