2018-02 使用命令行运行 eclipse 运行配置

复制运行命令行

参考: How to run Eclipse launch configurations programmatically?

  1. 先执行一次运行配置。
  2. 在 Debug 视图查看进程 Properties, 复制运行命令行 Command Line 。

导出 ant 配置文件(不推荐)

参考:How to run an Eclipse Run Configuration from the command line (使用 ant)

  1. 导出项目 ant 配置(即 build.xml)。
  2. Java 运行配置会导出为 ant target,使用 ant 执行之。

注意: 1. 有局限性。只能导出 JDT Java 运行配置,其他如 Spring Boot 运行配置等都不行。 2. 不能具备自动更新能力,classpath 变化需要重新导出。

使用 eclipse Buckminster(?)

参考:Buckminster is a set of frameworks and tools for automating build, assemble & deploy (BA&D) development processes.

2018-02 管理运行配置

eclipse 配置编辑页面默认只能管理已打开项目的配置。 运行配置文件默认在 .metadata/.plugins/org.eclipse.debug.core/.launches/ 下, 可直接删除或编辑未打开项目的运行配置,注意可能要重启 eclipse 后相关修改才能被加载生效。

2017-12 远程调试时关联依赖项目的源码。

eclipse 远程调试时默认不能自动关联依赖项目的源码。

参考:
* Eclipse Debug: Source Not Found while remote debugging 。https://stackoverflow.com/questions/7717096/eclipse-debug-source-not-found-while-remote-debugging
* "Source not found." when debugging remote 。https://bugs.eclipse.org/bugs/show_bug.cgi?id=442330

相关项目:
* eclipse 插件:https://github.com/ifedorenko/com.ifedorenko.m2e.sourcelookup 。

可安装 m2e connector "Maven Development Tools",其包含此插件。 未测试成功。

解决办法:

* 配置远程调试的 Source 配置,手动添加依赖项目。

2017-12 m2e 依赖 war 项目的 classes。m2e 环境下不要设置 classifier。

* 参考:https://wiki.eclipse.org/M2E-WTP_FAQ#How_do_I_add_my_web_project_classes_to_another_project.27s_classpath.3F

<dependencies>
 ...
 <dependency>
   <groupId>com.company</groupId>
   <artifactId>mywebapp</artifactId>
   <version>1.0.0-SNAPSHOT</version>
   <classifier>${webClassifier}</classifier>
 </dependency>
 ...
</dependencies>
...
<properties>
 ...
 <webClassifier>classes</webClassifier>
</properties>
...
<profiles>
 <profile>
   <id>m2e</id>
   <activation>
     <property>
       <name>m2e.version</name>
     </property>
   </activation>
   <properties>
     <webClassifier></webClassifier>
   </properties>
 </profile>
</profiles>