问题描述
我有一个 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 (将#修改为@)