如何在产品中激活 org.eclipse.equinox.http.registry

问题描述

我有一个 Eclipse 产品,我想用它来启动一个 http 服务器并导出本机工件。我需要重用基于 org.eclipse.equinox.http.registry 扩展点和更广泛的扩展点机制的包。

我遵循了这个食谱:

http://blog.vogella.com/2017/04/20/access-osgi-services-via-web-interface/

并成功适应它。

我的产品文件如下所示。我已经明确激活了码头服务器。

现在我的问题是:

手动激活 Jetty 是否是执行此初始化的正确方法,如果不是,应该以更符合 Osgi 惯用的方式来完成?

<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>

<product name="com.codebots.botlearn.product" uid="com.codebots.botlearn" application="com.codebots.botlearn.application.id1" useFeatures="false" includeLaunchers="false">

   <configIni use="default">
   </configIni>

   <launcherArgs>
      <programArgs>-console
      </programArgs>
      <vmArgs>-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Dorg.osgi.service.http.port=8081
      </vmArgs>
      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
      </vmArgsMac>
   </launcherArgs>

   <windowImages/>

   <launcher>
      <win useIco="false">
         <bmp/>
      </win>
   </launcher>

   <vm>
      <linux include="true">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11</linux>
   </vm>

   <plugins>
      <plugin id="com.codebots.botlearn.rest"/>
      <plugin id="javax.servlet"/>
      <plugin id="org.apache.Felix.gogo.command"/>
      <plugin id="org.apache.Felix.gogo.runtime"/>
      <plugin id="org.apache.Felix.gogo.shell"/>
      <plugin id="org.eclipse.equinox.common"/>
      <plugin id="org.eclipse.equinox.console"/>
      <plugin id="org.eclipse.equinox.http.jetty"/>
      <plugin id="org.eclipse.equinox.http.registry"/>
      <plugin id="org.eclipse.equinox.http.servlet"/>
      <plugin id="org.eclipse.equinox.registry"/>
      <plugin id="org.eclipse.jetty.continuation"/>
      <plugin id="org.eclipse.jetty.http"/>
      <plugin id="org.eclipse.jetty.io"/>
      <plugin id="org.eclipse.jetty.security"/>
      <plugin id="org.eclipse.jetty.server"/>
      <plugin id="org.eclipse.jetty.servlet"/>
      <plugin id="org.eclipse.jetty.util"/>
      <plugin id="org.eclipse.jetty.util.ajax"/>
      <plugin id="org.eclipse.jetty.webapp"/>
      <plugin id="org.eclipse.jetty.xml"/>
      <plugin id="org.eclipse.osgi"/>
      <plugin id="org.eclipse.osgi.services"/>
      <plugin id="org.eclipse.osgi.util"/>
   </plugins>

   <configurations>
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" />
      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.http.jetty" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.http.registry" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.registry" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
      <property name="eclipse.ignoreApp" value="true" />
      <property name="osgi.noShutdown" value="true" />
   </configurations>

   <preferencesInfo>
      <targetfile overwrite="false"/>
   </preferencesInfo>

   <cssInfo>
   </cssInfo>

</product>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...