【问题标题】:How to view shell commands used by eclipse "run configurations"如何查看eclipse“运行配置”使用的shell命令
【发布时间】:2010-06-04 17:49:45
【问题描述】:

给定 Eclipse 中的“运行配置”,我想打印出用于运行它的关联 shell 命令。

例如: 现在,在 Eclipse 中,如果我单击“播放”,它将运行:

mvn assembly:directory -Dmaven.test.skip=true

我没有看到该命令,我只知道 IDE 在某些时候必须运行该命令。 但是,由于类路径和虚拟机选项较长,其他一些运行配置要复杂得多,坦率地说,有时我不知道等效的 shell 命令是什么(尤其是在涉及到 Flex 时)。

必须有某种方式来访问与 Eclipse/Flex Builder 中的“运行配置”相关联的 shell 命令。此信息必须可用,这使我相信有人编写了一个插件来显示它。或者可能已经在 Eclipse 中内置了一个选项来访问它。

那么有没有一种方法可以从本质上将 Eclipse 运行配置转换为 shell 命令?

(仅用于上下文:我之所以这么问,是因为我正在编写一个 bash 脚本,它可以在开发过程中自动执行我所做的一切——从填充数据库一直到打开 Firefox 并在运行之前清除缓存web 应用程序。所以我从 IDE 运行的每个命令都需要存在于脚本中。有些很难弄清楚。)

【问题讨论】:

  • 它不一定会运行 shell 命令。事实上,它几乎永远不会,因为 Eclipse 没有 shell 或使用 shell 解释器。像 maven 和 ant 这样的东西有 Java 钩子,可以绕过对 shell 的任何需求。

标签: java eclipse apache-flex maven flash-builder


【解决方案1】:

这应该适用于 Java 和 Maven 进程。您可以从 Process 属性中获取命令行。

  • 在调试模式下运行进程
  • 右键单击“调试”视图中的进程项并选择“属性”
  • 显示命令行

【讨论】:

  • 这正是我正在寻找的东西。我在 Flash Builder 4 中对其进行了测试(这是一个淡化的 Eclipse),但它在那里不起作用,但我看到它在其他情况下如何工作。所以当我把它重新启动时,我会在我的普通 Eclipse 中检查它。
  • 这对我有用,但也请参阅下面的 miki 的答案...需要删除 agentlib 参数。
  • 请注意,您甚至可以在非调试模式下运行它。此外,如果您在查找流程项时遇到问题,它可能是“调试”视图树中的第二项。
  • 如果进程已经退出,内部的属性会有这样完整的命令行,谢谢!
【解决方案2】:

如果您在 Unix 操作系统上运行,另一个技巧(尽管您必须对此保持敏捷...)是在 Eclipse 中启动您的 Run..,然后切换到命令提示符并运行此命令(Mac语法):

ps -ef | grep java

这将打印出当前正在运行的命令行 Java 进程调用。查找与您的 Eclipse 进程相对应的那个(检查主类,它是命令行上的最后一个参数),瞧!

【讨论】:

  • 这真的很简单有效。谢谢。
  • java 替换为您的主类的名称,您将获得更少的结果来排序。
【解决方案3】:

非常感谢飞溅。要添加的一件事——我在命令行遇到了一个奇怪的错误:

错误:传输错误 202:连接 失败:连接被拒绝错误:JDWP 传输 dt_socket 失败 初始化,TRANSPORT_INIT(510) JDWP 退出错误 AGENT_ERROR_TRANSPORT_INIT(197):否 传输初始化 [../../../src/share/back/debugInit.c:708] 本机方法中的致命错误:JDWP 否 传输初始化, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 中止!

这可以通过去掉 agentlib 参数来避免:

-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:56431

【讨论】:

    猜你喜欢
    • 2012-01-05
    • 1970-01-01
    • 2010-10-26
    • 2016-05-26
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 2011-09-01
    • 2010-12-24
    相关资源
    最近更新 更多