2010-06-04 98 views
33

如果在Eclipse中给出了“运行配置”,我想打印出将用于运行它的关联shell命令。如何查看eclipse“运行配置”中使用的shell命令

例如: 眼下,在Eclipse中,如果我点击“播放”,它将运行:

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

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

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

那么是否有一种方法可以将Eclipse运行配置转换为shell命令?我只是想问一下,因为我正在编写一个bash脚本,它可以在开发过程中自动执行我所做的一切 - 从运行数据库到打开Firefox并在运行Web之前清除缓存因此每个从IDE运行的命令都需要在脚本中存在,有些很难理解)

+2

它不一定会运行shell命令。事实上,由于Eclipse没有shell或使用shell解释器,所以它几乎不会。像maven和ant这样的东西有Java钩子,它可以绕过任何shell的需求。 – 2010-06-04 17:54:29

回答

45

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

  • 运行过程中调试模式
  • 在“调试”视图中右键单击程序项,然后选择
  • 在命令行中显示
+0

这正是我要找的东西。我在Flash Builder 4中测试了它(这是一个淡化的eclipse),它在那里并不起作用,但我看到它在其他情况下如何工作。所以我会在我将它恢复时在我的Eclipse中检查它。 – gMale 2010-06-16 17:05:25

+0

这适用于我,但请参阅下面的miki的答案以及... agentlib参数需要删除。 – Bill 2011-04-24 13:42:23

+1

请注意,您甚至可以在非调试模式下运行它。另外,如果您在查找流程项目时遇到问题,可能是“调试”视图树中的第二项。 – 2013-06-26 22:54:08

4

感谢这么多扑通“属性” 。一件事add--我是在命令行得到一个奇怪的错误:

ERROR: transport error 202: connect failed: Connection refused ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:708] FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) Aborted!

,这可以通过只取出agentlib参数来避免:

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

16

如果你正在运行的另一个窍门在Unix操作系统(虽然你必须要活泼的这个...)是发起您运行..在Eclipse,然后切换到命令提示符并运行此命令(Mac的语法):

ps -ef | grep java 

这无线将打印出当前正在运行的命令行Java进程调用。寻找对应于你的Eclipse进程的东西(检查主类,这是命令行中的最后一个参数),瞧!

+2

这真的很容易和有效。谢谢。 – noumenon 2012-11-29 13:41:12

+0

将'java'替换为主类的名称,并且排序的结果更少。 – Nateowami 2015-05-05 02:20:38

+1

非常有用的提示! – Mark 2016-01-24 10:44:46