Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JNLP可以';找不到用Maven构建的主类_Java_Maven_Jar_Jnlp - Fatal编程技术网

Java JNLP可以';找不到用Maven构建的主类

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

我正在尝试将小程序转换为常规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)
    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
参数也适用于小程序,因为它是识别小程序上下文中几个小程序(可能嵌入同一网页中的小程序)之一的一种方法。除其他外,它允许小程序间通信。