从命令行

时间:2015-05-28 15:22:00

标签: eclipse bash build development-environment

问题

我想从命令行刷新eclipse。我怎样才能做到这一点?

上下文

通常我运行这样的构建:

$ myCompaniesSpecialBuildScript.sh

这会进行一些项目设置,Eclipse需要这些项目设置来显示没有编译错误的项目。

这意味着每当我运行构建时,我的步骤是:

  • $ myCompaniesSpecialBuildScript.sh
  • 日食:

    • 选择我正在处理的项目 - >右键单击并选择Refresh,或者
    • 从顶部菜单:Project -> Clean... -> Clean all

理想情况下,我宁愿从命令行运行它,而不是这样做:

$ myCompaniesSpecialBuildScript.sh && myScriptToRefreshEclipse.sh

我正在研究如何制作myScriptToRefreshEclipse.sh

的进展

这是我到目前为止所发现的:

似乎这两件事都需要在Eclipse的JVM中运行。有没有办法从命令行获取此信息?

4 个答案:

答案 0 :(得分:1)

在工作区首选项中,启用常规> 工作区> 使用本机挂钩或轮询进行刷新。这应该会导致Eclipse在它们被修改后第一次启动时自动刷新工作区资源。

答案 1 :(得分:1)

虽然不能直接回答这个问题,但我相信通过在 Eclipse中运行的shell脚本,可以实现与Eclipse的最佳集成:在路径中创建External Tool Configuration填充到您的脚本文件,然后访问“刷新”选项卡以选择在运行脚本后应刷新工作区的哪些部分。

答案 2 :(得分:0)

我认为在不编写java代码的情况下实现这一目标的最简单方法就是编写一个包含以下内容的ant build.xml文件:

  • 您之前链接的eclipse.refreshLocal任务
  • 启动executionmyCompaniesSpecialBuildScript.s
  • 的任务

像这样的东西

<?xml version="1.0" encoding="UTF-8"?>
<project>
  <target name="nameofyourtarget">
      <exec executable="/bin/bash">
        <arg value="/path/to/myCompaniesSpecialBuildScript.sh"/>
      </exec>
      <eclipse.refreshLocal resource="MyProject/src" depth="infinite"/>
  </target>
</project>

然后,您将能够使用

从命令行启动整个过程
ant nameofyourtarget

答案 3 :(得分:0)

我试图将其作为副本关闭,但我不能因为赏金。

但是,请看这里:  Is there a way to refresh eclipse workspace from console before launching eclipse?Refresh eclipse projects via command line