我有一个包含两个主要类的jar文件。根据我的需要,我可以运行一个或另一个。 为了让这个应用程序通过webstart运行,我创建了两个JNLP文件,每个文件都引用了两个主要类中的一个。
令人难以置信的是,从两个文件中只启动了一个主要类!我所知道的是被激活的类也是在jar的清单中列为主类的类。 我试着阅读webstart规范,webstart文档,但在这里找不到与清单相关的任何内容。当我试着查看源代码(随Oracle JDK一起提供)时,我看不到与webstart启动器有多大关系。
那么webstart究竟如何找到它的主要类?
答案 0 :(得分:1)
在JNLP文件中,您有一个资源部分放置jar。
你们其中一个罐子应该是 main = true 。 在这个jar中,您可以像在独立的jar文件中一样在MANIFEST.MF中定义main-class。
答案 1 :(得分:0)
要提供更多信息,请参阅我的JNLP文件中的片段:
<resources>
<jar href="FarmGenerator.jar" main="true"/>
...
</resources>
<application-desc main-class="com.amadeus.wh.farmgenerator.MainFrame">
</application-desc>
这是第二个JNLP的片段:
<resources>
<jar href="FarmGenerator.jar" main="true"/>
...
</resources>
<application-desc main-class="com.amadeus.wh.CompliancyChecker.MainFrame">
</application-desc>
这是清单文件摘要:
Main-Class:com.amadeus.wh.farmgenerator.MainFrame
从两个JNLP文件中,仅启动farmgenerator.MainFrame。好像清单重写了application-desc元素。