【问题标题】:IllegalArgumentException in maven-resources-plugin during deploy goal部署目标期间 maven-resources-plugin 中的 IllegalArgumentException
【发布时间】:2021-01-11 19:11:59
【问题描述】:

我正在尝试使用以下命令使用 maven 构建我的 spring-boot 应用程序。

mvn -X -Dmaven.test.skip=true deploy

在此步骤中,maven-resources-plugin 尝试将我的 application.yaml 文件复制到我的 target\classes 文件夹中。这失败了IllegalArgumentException

堆栈跟踪的相关部分。

[INFO] Copying 1 resource
[DEBUG] Copying file application.yaml
[DEBUG] file application.yaml has a filtered file extension
[DEBUG] Using 'UTF-8' encoding to copy filtered resource 'application.yaml'.
[DEBUG] filtering XXX\src\main\resources\application.yaml to XXX\target\classes\application.yaml
Caused by: java.lang.IllegalArgumentException
    at java.nio.Buffer.position (Buffer.java:244)
    at org.apache.maven.shared.utils.io.FileUtils.copyFile (FileUtils.java:1946)
    at org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile (DefaultMavenFileFilter.java:98)
    at org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filterResources (DefaultMavenResourcesFiltering.java:262)
    at org.apache.maven.plugins.resources.ResourcesMojo.execute (ResourcesMojo.java:356)

关于为什么失败的任何想法? 如何确保我的文件被复制?

如果我从资源文件夹中删除我的 yaml 文件,我的构建成功!

更多堆栈跟踪

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources) on project sonar-notification-app: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources failed.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    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)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources failed.
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    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)
Caused by: java.lang.IllegalArgumentException
    at java.nio.Buffer.position (Buffer.java:244)
    at org.apache.maven.shared.utils.io.FileUtils.copyFile (FileUtils.java:1946)
    at org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile (DefaultMavenFileFilter.java:98)
    at org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filterResources (DefaultMavenResourcesFiltering.java:262)
    at org.apache.maven.plugins.resources.ResourcesMojo.execute (ResourcesMojo.java:356)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    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)```

【问题讨论】:

    标签: java spring-boot base64 maven-resources-plugin


    【解决方案1】:

    终于找到了这个问题。当我们打包应用程序时,我们使用maven-dependency-plugin 将两个工件类复制到一个类文件夹中。两个工件都有自己的application.yaml 文件。这是导致此错误的原因。希望这对遇到类似情况的人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-04
      • 2018-03-28
      • 1970-01-01
      • 2021-04-30
      • 2014-07-17
      • 2011-10-12
      • 2013-11-20
      • 1970-01-01
      相关资源
      最近更新 更多