0

我尝试将 Jetty 嵌入(使用)我的 JavaFX 2.2 小程序(在浏览器中运行)。

我的问题是,要托管 servlet,除了 jetty-server.jar、jetty-servlet.jar 和 jetty-util.jar 之外,我还需要包含 servlet-api-3.0.jar(对于 javax.servlet 命名空间)。

在此处输入图像描述

如果我包含 servlet-api.jar,我的项目会编译,但是当我在浏览器中运行它时,部署失败并显示“由于系统配置,JavaFX 应用程序无法启动(显示错误详细信息)。请参阅 java.com/javafx用于故障排除信息。” 错误信息。

如果我删除 servlet-api.jar(并删除相关源),它会再次部署。

对于 JavaFX 项目,Java 平台设置为“默认 JavaFX 平台”,最好保持这种方式以减少所需的最小占用空间。

我不是 java(fx) 专家(我来自 .NET 世界),所以我将不胜感激!

4

2 回答 2

1

您在签署 JAR 时遇到问题。我对为 JavaFX 签名 JAR 不是很熟悉,但这里是文档:

http://docs.oracle.com/javafx/2/deployment/packaging.htm#BABJGFBH

http://docs.oracle.com/javafx/2/deployment/javafx_ant_task_reference001.htm#CIAFJGAB

于 2013-01-31T18:22:12.990 回答
0

servlet-api-3.0.jar就是所谓的提供的依赖项。

它不需要包含在您的 war 文件中,因为 Web 应用程序容器(在本例中为 Jetty)为您提供了它。在您的构建工具中,只需将 servlet-api.jar 排除在您的 war 文件中即可。

注意:jetty-server-9.0.0.M5.jar也是提供的依赖项,具有相同的规则。

于 2013-01-31T13:55:59.097 回答