Java JNLP可以';找不到用Maven构建的主类
我正在尝试将小程序转换为常规java应用程序,使用JNLP运行直接运行时,它会工作。但是如果我通过JNLP运行,我会得到下面的堆栈跟踪。Java JNLP可以';找不到用Maven构建的主类,java,maven,jar,jnlp,Java,Maven,Jar,Jnlp,我正在尝试将小程序转换为常规java应用程序,使用JNLP运行直接运行时,它会工作。但是如果我通过JNLP运行,我会得到下面的堆栈跟踪。 at com.sun.javaws.LaunchDownload.getMainClassName(Unknown Source) at com.sun.javaws.Launcher.doLaunchApp(Unknown Source) at com.sun.javaws.Launcher.run(Unknown Source) a
at com.sun.javaws.LaunchDownload.getMainClassName(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
主Java类(App.Java)
JNLP文件(config.JNLP) 这是配置jar执行的地方
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://172.16.3.5:8080/vendor" href="jnlp/config.jnlp">
<information>
<title>App Title</title>
<vendor>Vendor Name</vendor>
<offline-allowed/>
</information>
<resources>
<j2se version="1.7+"/>
<jar href="dir1/dir2/dir3/app-title.jar" main="true" />
</resources>
<application-desc/>
</jnlp>
应用程序标题
厂商名称
Maven Jar插件(pom.xml) 此插件正在设置主类
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>myPackage.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
org.apache.maven.plugins
maven jar插件
myPackage.App
我认为您的JNLP无效
(见):
注意:JNLP文件必须包含以下内容之一:应用程序描述、小程序描述、组件描述或installer-desc
对于应用程序描述
,应该需要主类
尝试添加
<application-desc main-class="myPackage.App" />
可能还需要添加
名称
,宽度
,高度
,但这方面的描述不太准确。我认为您的JNLP无效
(见):
注意:JNLP文件必须包含以下内容之一:应用程序描述、小程序描述、组件描述或installer-desc
对于应用程序描述
,应该需要主类
尝试添加
<application-desc main-class="myPackage.App" />
可能还需要添加
名称
,宽度
,高度
,但这方面的描述不是很准确。编译后,在/target
文件夹中,生成的清单文件的内容是什么?清单版本:1.0 Archiver版本:Plexus Archiver构建人:franco.pan创建人:Apache Maven 3.3.9构建Jdk:1.8.0144主类:myPackage.app您得到了什么异常(不仅仅是stacktrace的第一行)jar是否位于http://172.16.3.5:8080/vendor/dir1/dir2/dir3/app-title.jar
?您是否正在使用一些Web Start/JNLP maven插件,例如?编译后,在/target
文件夹中,生成的清单文件的内容是什么?清单版本:1.0 Archiver版本:Plexus Archiver构建人:franco.pan创建人:Apache Maven 3.3.9构建Jdk:1.8.0144主类:myPackage.app您得到了什么异常(不仅仅是stacktrace的第一行)jar是否位于http://172.16.3.5:8080/vendor/dir1/dir2/dir3/app-title.jar
?您是否使用了一些Web Start/JNLP maven插件,例如?“可能需要添加名称
,宽度
,高度
,但描述不太准确。”这些仅与小程序描述相关(适用于小程序)。OP:一定要用JaNeLA检查JNLP,在我的网站上有。我也读过。但是这个例子也为applicationdesc说明了这些参数,而spec没有。我对applet有丰富的经验,对他们来说,这三个参数是有意义的。例如,宽度和高度对于小程序来说更为常见(或者至少曾经如此),因为它们的大小是由嵌入它们的HTML设置的。OTOH用于桌面应用程序。大小由pack()
(GUI中组件所需的最小大小)或setSize(…)
设置。name
参数也适用于小程序,因为它是识别小程序上下文中几个小程序(可能嵌入同一网页中的小程序)之一的一种方法。它允许小程序之间的通信,除其他外。“可能还需要添加名称
,宽度
,高度
,但在这方面的描述不是很准确。”这些仅与小程序描述
(小程序)相关。OP:一定要用JaNeLA检查JNLP,在我的网站上有。我也读过。但是这个例子也为applicationdesc说明了这些参数,而spec没有。我对applet有丰富的经验,对他们来说,这三个参数是有意义的。例如,宽度和高度对于小程序来说更为常见(或者至少曾经如此),因为它们的大小是由嵌入它们的HTML设置的。OTOH用于桌面应用程序。大小由pack()
(GUI中组件所需的最小大小)或setSize(…)
设置。name
参数也适用于小程序,因为它是识别小程序上下文中几个小程序(可能嵌入同一网页中的小程序)之一的一种方法。除其他外,它允许小程序间通信。