【问题标题】:Maven Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean Failed to delete access_logMaven 未能执行目标 org.apache.maven.plugins:maven-clean-plugin:2.5:clean 未能删除 access_log
【发布时间】:2015-04-23 08:15:04
【问题描述】:

我正在尝试使用 maven 和 tomcat 运行简单的 struts 项目。

当我尝试执行下一个目标时:clean install tomcat7:run 我得到了MojoExecutionException

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean
(default-clean) on project myproject: Failed to clean project: Failed to delete
D:\EclipseWorkspace\myproject\target\tomcat\logs\access_log.2015-02-21
-> [Help 1]

我用谷歌搜索并了解到tomcat 使用这个access_log 文件,他在其中记录用户请求。当我想执行上面列出的目标时,因为我使用的是 Eclipse IDE,JVM 拒绝删除这个文件。

我看到了同样的问题:Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.4.1Maven - Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.4.1:clean

但不理解此类问题的建议解决方案。

【问题讨论】:

  • 你在清理之前停止过Tomcat吗?如果不是,这是 Windows 上的典型问题,因为如果正在使用该文件,Windows 将锁定该文件并且您无法删除它。
  • @khmarbaise 是的,我已经测试过这种情况。这不是原因

标签: java eclipse maven tomcat


【解决方案1】:

每当有一个进程对某个 Maven 试图清理的子文件夹中的文件进行锁定时,我都会看到这种错误。检查您的 Tomcat 实例是否真的停止了(在任务管理器中查找不应该存在的 java 进程)。我也为自己创建了这个问题,方法是在文本编辑器中打开访问日志,然后在关闭 Tomcat 并尝试运行新版本后忘记关闭编辑器。

【讨论】:

  • 不,事实并非如此。文件未打开,tomcat 已停止
  • 在我的情况下,我遇到了声纳扫描仪显然没有正确释放资源的问题 - 这会导致清理过程中出现错误。 github.com/spotbugs/spotbugs/pull/591
【解决方案2】:

Micahel Peacockkhmarbaise 关于某些进程阻止删除是正确的。

这是给像我这样的 maven 新手的一些提示。

我遇到过这样的问题,因为在使用 maven 目标 clean install tomcat7:run 运行 Tomcat 之后,我通过 ${CATALINA_HOME}/bin 目录中的 shutdown 批处理文件或通过单击下一个标签通过安装的 Eclipse Tomcat 插件停止了它:

但是要以正确的方式执行此操作,您应该单击控制台视图中的停止标签:

然后 locale tomcat 实例将停止,不会出现此类错误,因为进程将正常关闭。

【讨论】:

    【解决方案3】:

    在我的情况下,它与 Tomcat 不同的程序阻止了应删除的文件夹。这是我基于 Michael Peacock 回答的方法:

    这样您在 Windows 10 上就可以找出哪个进程阻止了文件或文件夹:

    1. 搜索“资源监视器”
    2. 转到“CPU”标签
    3. 向下滚动到“关联句柄”
    4. 在该选项卡的搜索栏中搜索文件或文件夹。
    5. 如果您认为这是阻塞进程,请终止进程。

    如果您不知道哪个文件不能删除,请查看 Maven 的日志。它会告诉您在错误发生之前它正在删除哪个文件或文件夹。这很可能是导致问题的原因。

    【讨论】:

    • 感谢您的解决方案。我试图找到这样的东西。很多时候我不得不重新启动系统来解决这个问题,但现在我可以在不重新启动的情况下做到这一点。谢谢
    • 很高兴这些说明对您有所帮助!
    【解决方案4】:

    我在 Fedora 中遇到了同样的问题。在我的情况下,目标目录的所有者已更改为 root usring --> [chown your-username target] 我修好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 2018-08-24
      • 2014-12-04
      • 2018-01-02
      相关资源
      最近更新 更多