微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java-通过命令行或在指定时间自动触发Eclipse清理

是否有可能迫使正在运行的Eclipse从linux中的命令行清理和重建或触发时间?

我有一个包含数百个Maven项目的工作空间,这些文件必须在文件自动更改后重新生成才能清除.文件更改每天晚上都会由cronjob触发,该cronjob运行svn update,然后进行mvn clean和mvn安装. Eclipse本身会看到这些源更改,并会自动重建(本机挂钩)以保持最新状态.但是由于未知原因,它无法完全重建.仍然存在许多错误和警告.仅当我清理了整个Eclipse工作区后,这些错误才会消失,然后在Eclipse中进行自动重建.该重建花费很长时间(> 1小时).我不想每天都花这个时间.因此,我正在寻找一种自动方法来强制彻底清理和重建夜间运行的日食工作区.

我无法在一夜之间重启Eclipse.

一种想法是从外部清理Eclipse(但是如何清理)以使其自己注意到更改. Eclipse然后可能会自动重建.

解决方法:

据我所知,没有预定义的方法可以从外部触发此操作.因此,我将提出一项可以实现您所需要的策略.这涉及许多高级主题,所以我只提供一些入门指南,因为带所有详细信息对于这种格式来说太多了.这可能会成为一篇很棒的博客文章.所以我们开始:

>为您的Eclipse编写一个plugin.
>该插件无需使用清理和重建操作来公开MXBean.使用JDK工具jconsole来检查操作的可访问性.
>该操作依次执行clean和full rebuild命令.您可以使用Eclipse Plug-in Spy查找适当的command贡献,和/或搜索Eclipse source code.
>然后,您需要构建custom JMX client,它从外部调用该MXBean操作.这基本上是jconsole的JMX功能的简化版本,并且可以作为cron作业调用的简单Java命令行应用程序.它需要连接到本地Eclipse实例并调用您先前定义的操作.为了找到要连接的正确实例,您的Eclipse插件可以将实例的MXBean服务器的端口写入JMX客户端在启动时要查找的文件.

编辑:除了clean和rebuild命令,您还需要事先调用工作区的完全刷新.

原文地址:https://codeday.me/bug/20191120/2043321.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐