Maven、Webstart 和 Java 8 令人头疼的问题

Posted

技术标签:

【中文标题】Maven、Webstart 和 Java 8 令人头疼的问题【英文标题】:Maven, Webstart, and Java 8 Headaches 【发布时间】:2015-09-21 10:52:31 【问题描述】:

我正在尝试将项目从使用 Java 6 编译转换为 Java 8。我们正在使用 webstart-maven-plugin,目前有一种解决方法 (http://mojo.10943.n7.nabble.com/jira-MWEBSTART-269-Java-8-support-td44357.html) 通过添加以下依赖项来使用 Java 8 进行编译到插件定义。

...
<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>webstart-maven-plugin</artifactId>
                <version>1.0-beta-6</version>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>webstart-pack200-impl</artifactId>
                        <version>1.0-beta-6</version>
                    </dependency>
                    <dependency>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>keytool-api-1.7</artifactId>
                        <version>1.4</version>
                    </dependency>
                </dependencies>
                ...
            </plugin>
        </plugins>
    </pluginManagement>
</build>
...

这让我克服了最初的问题。

我现在收到以下错误。

[ERROR] Failed to execute goal org.codehaus.mojo:webstart-maven-plugin:1.0-beta-6:jnlp-inline (default) on project <redacted>: Unable to parse configuration of mojo org.codehaus.mojo:webstart-maven-plugin:1.0-beta-6:jnlp-inline for parameter pack200: Cannot find default setter in class org.codehaus.mojo.webstart.Pack200Config -> [Help 1]

帮助链接转到下一页。 https://cwiki.apache.org/confluence/display/MAVEN/PluginConfigurationException

据我所知,webstart-pack200-impl 依赖项需要一些配置来定义使用哪个 setter。我在网上找到的有关二传手的任何信息似乎都与此不同。我不知道是否有办法为依赖项设置配置。

还是我以完全错误的方式看待这个问题?

在此先感谢

【问题讨论】:

请注意,在 beta-7 中,您不再需要添加这些依赖项...除非您确实希望它 pack200 在这种情况下您需要webstart-pack200-impl 依赖项。 【参考方案1】:

错误指向在旧版本的 webstart 插件配置中配置为 &lt;pack200&gt;false&lt;/pack200&gt; 的 pack200。

这可以通过更改 pack200 配置来解决(在插件设置的&lt;configuration&gt; 部分内)

<pack200><enabled>false</enabled></pack200>

有关更多详细信息,请参阅http://www.mojohaus.org/webstart/webstart-maven-plugin/upgrade.html 部分“自 1.0-beta-3 以来的重要更改”

【讨论】:

以上是关于Maven、Webstart 和 Java 8 令人头疼的问题的主要内容,如果未能解决你的问题,请参考以下文章

Java WebStart 的 ClassNotFoundException

如何将 Java 9 '--permit-illegal-access' 标志传递给 Webstart 应用程序?

将Java Applet迁移到Java WebStart(JNLP)

如何在 Java WebStart (JNLP) 应用程序中获取多个 hprof 转储?

Java webstart max-heap-size 导致JVM无法启动

webstart 应用程序日志记录权限被拒绝