0

我的程序有问题。我在 Netbeans 中开发,当我运行程序时它运行良好。我构建了它,创建了一个 *.jar 文件,并在我的 JNLP 文件中更新了它。

麻烦来了。当我在我的程序中使用 javax.mail.* 时,jnlp 包只是忽略了它的所有部分。

为了清楚起见,我正在开发一个邮件客户端。现在我可以查看收件箱中的邮件数量了。这就是程序在 JNLP 中忽略的内容。

谢谢你的帮助。

4

3 回答 3

1

合并一个 javamail 实现。从许可的角度来看,Apache Geronimo 实现很方便。也就是说,获取一个包含 javax.mail 实现的 JAR 文件(除了 j2ee 内置的那个)并将其打包到您的 JNLP 包中。

于 2009-11-22T00:16:19.290 回答
1

我认为您需要做的就是签署 java 邮件实现(本机或某些第 3 方)JAR,将它们添加到您的JNLP文件中:

<resources>
   <jar href="mail-jar1"/>
   <jar href="mail-jar2"/>
   <!-- more -->
</resources>

...然后将它们与您的主服务器一起JAR放到您选择的网络服务器上。

于 2010-06-23T04:46:55.863 回答
0

为了让您的程序能够访问网络并与邮件服务器通信,您需要对所有 jars 进行签名并在 jnlp 文件中包含以下代码:

<security>
    <all-permissions/>
</security>

如果使用 Java EE 邮件实现,则需要在库中包含两个 jar 文件:

<resources>
    <jar href="lib/activation.jar"/>
    <jar href="lib/mail.jar"/>
</resources>

我喜欢将所有库 jar 文件放在一个单独的文件夹中,这是 netbeans 通常在构建您的应用程序时为您所做的(查看 dist 文件夹)。

您还问过“您能否提供一种在我的计算机上运行该程序的方法,无需 netbeans 和命令提示符?”

这几乎就是 jnlp 的全部意义所在。您可以从 Web 浏览器启动该程序。Java 教程包含许多这样的示例: 例如:JButton 示例

如果这是您希望部署应用程序的方式,您可以阅读Web Start 开发人员指南

于 2012-03-03T22:57:10.323 回答