问题标签 [maven-webstart-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
768 浏览

maven - 如何让 maven 使用 JNLP 版本命名约定?

我的任务是减少我们的一个 webstart 应用程序的下载大小。我认为下载的相当一部分来自所有大型 jar 文件库,并且由于我们很少更新其中的许多文件,因此使用JNLP 版本下载协议似乎会显着减少下载量。当应用程序的新版本发布时,这应该会停止继续重新下载相同的 jar。

现在,该项目是用 maven 构建的。该过程的一部分是从速度模板自动生成 JNLP 文件。JNLP 文件的资源部分由假定由 maven 传入的 $dependencies 变量填充,看起来像这样:

在我看来,maven 正在使用其标准命名约定,并从项目 pom 文件中的 artifactId 和版本标签构建 jar 名称。

我怎样才能让它使用 JNLP 命名约定呢?

我可以更改速度模板以削减 $dependencies 变量并将其与 JNLP 约定重新组合 - 但这只是我需要的一半,因为实际的 jar 名称也需要更改。

0 投票
0 回答
566 浏览

java - maven-webstart-plugin 排除特定的传递依赖

我正在使用 maven-webstart-plugin 生成 2 个 JNLP(jnlpA 和 jnlpB),配置为 2 个执行。该项目有2个依赖项:

  • dependencyA.jar (这取决于一些公地和其他如 A1.jar、A2.jar、A3.jar...)
  • dependencyB.jar(这取决于一些公共和其他如 B1.jar、B2.jar、B3.jar...)。

我需要 jnlpA 具有依赖项 dependencyA.jar、commons 和 A1.jar、A2.jar、A3.jar ......以及 jnlpB 依赖项B.jar、commons 和 B1.jar、B2.jar、B3.jar ......我不知道如何使用 maven-webstart-plugin 做到这一点。

我试过这个:

  1. 使用名为“excludeTransitive”的插件属性设置为 false(默认)。在这种情况下,两个 JNLP 都将具有所有依赖项。

  2. 将“excludeTransitive”更改为 true,在这种情况下,JNLP 都将只有 dependencyA.jar 和 dependencyB.jar 作为依赖项。

  3. 将“excludeTransitive”设置为 false(默认),使用选项 exclude 和 include 插件允许在每次执行中使用:

    • 如果我在jnlpA的执行中使用exclude,并且我排除了dependencyB.jar,那么jnlpA仍然具有dependenci B1.jar,B2.jar... IE只排除依赖而不是它的所有传递依赖。
    • 如果我在 jnlpA 的执行中使用了 include,并且我包含了 dependencyA.jar,则不包括 A1.jar、A2.jar...。IE 仅包括此依赖项,而不包括其所有传递依赖项。

所以,我的问题是我需要在执行中包含或排除一个依赖项,但它的所有传递依赖项

当我尝试选项 3 时,我的 pom 示例是:

0 投票
1 回答
156 浏览

java - webstart-maven-plugin including test scoped dependencies

In a multi module project I have a dependency on ProjectB (main and test) in ProjectA's pom configured as

When i attempt to package the project using the webstart-maven-plugin the test-jar is excluded from the lib directory. Is there a way to include it?

The plugin logs contain this line which indicates the test-jar dependency is being skipped.

Thanks.

0 投票
3 回答
1786 浏览

java - 使用 EV 代码签名创建 Maven JNLP

我正在使用 Maven 和webstart-maven-plugin来生成 JNLP 文件并对我的项目的 jar 文件进行签名。我们只需要更新我们的代码签名证书,并且自 2017 年 2 月起,提供硬件令牌而不是软件令牌。

根据 GlobalSign 支持页面,使用硬件令牌对 jar 进行签名的正确方法如下(参见文章):

我按照那篇文章中描述的所有步骤进行操作,现在我正在尝试调整我的 pom.xml 以应用 EV 代码签名证书。

最初我使用了一个密钥库(片段,下面的完整 pom):

现在我正在尝试更新它以使 EV 代码签名工作(片段,下面的完整 pom):

但是,除非我错过了什么,否则似乎不支持tsa,providerClass和。providerArg我没有找到很多关于 webstart-maven-plugin 的信息,或者它不是最新的,这很遗憾:(

在创建 JNLP 时是否有另一种/更好的方式来签署 jar?任何帮助将非常感激!

pom.xml 代码签名(带密钥库)

pom.xml EV 代码签名(使用 SafeNet 令牌)

0 投票
0 回答
139 浏览

java - 启动时 Web Start 应用程序异常

启动我的网络启动应用程序时出现问题。我通过一个外部 Jar 获取 ClassNotFoundException,但是这个 jar 在我的 jnlp 中正确定义,并且他的路径也可以正确访问。

这是异常的痕迹:

这是我的 jnlp:

所有的罐子都在 gestiontributaria/webstart/ 中,并且都用相同的认证签名。我的 jnlp 在 gestiontributaria/.

ontimize-core-5.8.0.jar 已下载,我可以在 java 控制面板的资源中看到它。

我用tomcat 8.5部署战争。

有人对这个问题有想法吗?

0 投票
0 回答
96 浏览

eclipse-plugin - JNLP:如何使用 javax.jnlp.DownloadService

我正在开发一个项目,我应该使用 JNLP 启动一个 Eclipse RCP 项目。现在,我刚刚被介绍到 JNLP 世界,并没有真正把所有事情都搞清楚。我看到了,有一种方法可以使用 DownloadService 来管理资源的下载,以管理 java 缓存。

在互联网上搜索后,我找到了一些示例......但没有一个真正解释如何以及在何处使用 DownloadService。所以这些是我的问题。

假设我有一个简单的 RCP 插件:

  1. 我已经导出并签署了罐子。
  2. 带有 jnlp 文件的 jar 已经在我本地运行的 tomcat 服务器上
  3. 我应该在哪里实现运行我的 DownloadService 实例的主类,我应该如何在我的 jnlp 文件中注册它?
  4. 我想我的问题是我怎样才能让 jnlp 只下载已更改的资源?

如果有人向我提供一些解释或简单的例子,我将不胜感激。

谢谢。

0 投票
1 回答
529 浏览

eclipse-plugin - java.lang.ClassNotFoundException:org.eclipse.equinox.launcher.WebStartMain

我尝试使用 jnlp 启动我的 RCP 项目。所以我实施了一个小型的 e4-RCP 项目。从产品开始不会造成任何问题。该应用程序应该工作得很好。我安装了一个运行在 localhost:8080 的 tomcat 服务器,这也启动得很好。比我为该应用程序编写了一个 jnlp 文件。导出并签署 jar。当我尝试启动应用程序时。作为http://localhost:8080/webstart.jnlp我得到了异常:

说了这么多,下面是我的主要内容:

包 de.checkpoint.webstart;

这是我的 jnlp 文件:

谁能告诉我,我错过了什么?

0 投票
1 回答
1222 浏览

jar-signing - 由于时间戳请求被拒绝,webstart-maven-plugin 无法签署 jar

我们有一个项目使用webstart-maven-plugin来创建 Java Webstart JNLP 工件。

但是在 maven compile 我总是得到

[错误] 无法在项目 webstart 上执行目标 org.codehaus.mojo:webstart-maven-plugin:1.0-beta-6:jnlp-download-servlet(默认):无法签署 jar ...\target\jnlp\libs \unprocessed_commons-codec-1.10.jar,使用 -X 获取错误详情

使用 -X 运行显示:

jarsigner:无法签名 jar:java.io.IOException:生成时间戳时出错:时间戳请求被拒绝。无法识别或不受支持的算法标识符。

由于这个错误,我将我的 JDK 更新为 1.8(仅出于测试目的,因为我目前仍需要 1.7 的产品):

但我仍然收到上面的错误。

要获取我们使用 URL http://sha1timestamp.ws.symantec.com/sha1/timestamp的时间戳,请参阅下面的 maven 插件配置。

我的问题是:对于我的同事来说,它可以工作,他们有相同的 Java 版本,相同的 maven 项目设置等。因此它在我的本地环境中必须是一个问题。有任何想法吗?

0 投票
0 回答
39 浏览

java - webstart-maven-plugin 自定义 jnlp 模板变量列表

所以我正在尝试为 maven webstart 插件创建一个自定义 JNLP 模板。从我在http://www.mojohaus.org/webstart/webstart-maven-plugin/examples/inbuilt_templates.html上看到的示例中,它们使用了各种变量。我试图找出存在哪些变量(某处是否有列表)?它们在哪里定义?我可以在某处设置/更改它们吗?

0 投票
1 回答
469 浏览

java - Java Webstart ClassNotFoundException WebSockets

我正在尝试将使用多个模块的相当复杂的应用程序转换为使用 webstart 而不是 C# 等效项。(我知道 webstart 已被弃用并且正在消失。这是一个临时解决方案)我正在使用 maven-webstart-plugin 并且似乎遇到了一个问题,当它尝试加载 Java-Websockets 库时出现 ClassNotFoundException . 问题是 websocket 包含在其中一个应用程序模块的 POM 文件中(我什至尝试将其作为显式依赖项添加到主应用程序中)。它确实在 JNLP 文件中,并且肯定在 webstart 插件生成的 lib 文件夹中,所以我很困惑为什么它找不到它。任何帮助将不胜感激。我已经尝试了我能想到的一切(主项目中的显式依赖,将对 websockets 的调用移动到主应用程序中 - 它只是将异常移动到那里)。我还启用了 Java 调试器,因此当网页 JNLP 加载时会出现控制台,我确实看到它加载了 WebSocket JAR:

例外:

控制台输出:

JNLP 文件:

我的 POM 文件如下(用于主应用程序模块):