如果从命令行启动,Eclipse Formatter不会关闭

时间:2016-06-24 09:56:34

标签: java eclipse osgi equinox

Stefan Frankes post的启发,关于在命令行上使用Eclipse Formatter(例如,用于预提交格式化),我尝试使用Eclipse Mars中的库。使用这些库,格式化程序正在运行,但它不会关闭。

我使用了以下config.ini:

osgi.instance.area.default=./workspace
osgi.bundles.defaultStartLevel=4
eclipse.application=org.eclipse.jdt.core.JavaCodeFormatter
osgi.bundles= \
  org.eclipse.core.runtime_3.11.1.v20150903-1804.jar@start ,\
  org.eclipse.core.jobs_3.7.0.v20150330-2103.jar ,\
  org.eclipse.core.contenttype_3.5.0.v20150421-2214.jar ,\
  org.eclipse.equinox.registry_3.6.0.v20150318-1503.jar ,\
  org.eclipse.equinox.preferences_3.5.300.v20150408-1437.jar ,\
  org.eclipse.equinox.common_3.7.0.v20150402-1709.jar ,\
  org.eclipse.equinox.app_1.3.300.v20150423-1356.jar ,\
  org.eclipse.jdt.core_3.11.2.v20160128-0629.jar ,\
  org.eclipse.core.resources_3.10.1.v20150725-1910.jar ,\
  org.eclipse.core.filesystem_1.5.0.v20150725-1910.jar ,\
  org.eclipse.core.commands_3.7.0.v20150422-0725.jar ,\
  org.eclipse.core.expressions_3.5.0.v20150421-2214.jar ,\
  org.eclipse.text_3.5.400.v20150505-1044.jar ,\
  com.ibm.icu_54.1.1.v201501272100.jar ,\
  org.eclipse.core.filesystem.win32.x86_1.4.0.v20140124-1940.jar ,\
  org.eclipse.core.resources.win32.x86_3.5.100.v20140124-1940.jar ,\

开始使用

java -jar plugins\org.eclipse.osgi_3.10.102.v20160118-1700.jar -config fmt.ini %*

远程调试显示应用程序处于空闲状态。 调用eclipse二进制文件是因为所需的环境不适合我。

任何想法如何在工作完成后停止?

1 个答案:

答案 0 :(得分:0)

我发现自己的解决方案有效,但我不知道它是否是最好的解决方案; - )

我创建了一个新的包,其中只包含一个Activator和一个通过添加对

的调用来扩展CodeFormatterApplication的应用程序
Activator.getContext().getBundle( 0 ).stop();

原始代码:

public Object start( IApplicationContext context )
    throws Exception
{
    Object result = super.start( context );

    Activator.getContext().getBundle( 0 ).stop();

    return result;
}

这会关闭系统包,导致应用程序(和进程)关闭。

这个想法取自this帖子。