Java JNLP-NoSuchMethodException

Java JNLP-NoSuchMethodException,java,jar,manifest,java-web-start,jnlp,Java,Jar,Manifest,Java Web Start,Jnlp,我已经为这个问题挣扎了一段时间。我有一个类,带有一个main方法,当从Eclipse运行时,它运行得非常好。不管怎样,当我用jar(用maven jar插件)将它与我的JNLP文件一起运行时,我无法管理它开始工作 我得到的错误如下: java.lang.NoSuchMethodException: my.package.ishere.MainClass.main([Ljava.lang.String;) at java.lang.Class.getMethod(Unknown Sourc

我已经为这个问题挣扎了一段时间。我有一个类,带有一个main方法,当从Eclipse运行时,它运行得非常好。不管怎样,当我用jar(用maven jar插件)将它与我的JNLP文件一起运行时,我无法管理它开始工作

我得到的错误如下:

java.lang.NoSuchMethodException: my.package.ishere.MainClass.main([Ljava.lang.String;)
    at java.lang.Class.getMethod(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)
我的main方法在正确的包中,main方法是public、static,返回类型是void,参数是字符串数组

为了生成jar文件,我在pom中包括以下内容:

<plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <configuration>             
            <source>1.6</source>
            <target>1.6</target>
            <encoding>UTF-8</encoding> 
                <archive>
                        <manifestFile>${manifestFile}</manifestFile>
                        <manifest>
                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                            <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                            <mainClass>my.package.ishere.Mainclass</mainClass>
                        </manifest>
                        <addMavenDescriptor>false</addMavenDescriptor>
                    </archive>
                </configuration>
</plugin>
这是一个我转换成独立应用程序的旧小程序

更新:


设法让它在运行主jar时工作;将来自maven的类路径添加到清单中,并从我运行的命令提示符java-jar name-of-the-jar.jar param1中运行,是的,它成功了。不管怎样,我没有直接从JNLP运行它-仍然得到“NoSuchMethodException”。

终于解决了它。最大的问题是JNLP语法不正确,因此导致我产生了“NoSuchMethodException”,因为它无法读取整个参数,并且陷入了它们之间


因此,作为一个解决方案,我所要做的是完全重建我的JNLP并重新设置参数,所以它工作了。感谢所有花时间阅读这些东西的人

终于解决了。最大的问题是JNLP语法不正确,因此导致我产生了“NoSuchMethodException”,因为它无法读取整个参数,并且陷入了它们之间

因此,作为一个解决方案,我所要做的是完全重建我的JNLP并重新设置参数,所以它工作了。感谢所有花时间阅读这些东西的人

package my.package.ishere;

//HELLA long import list not going to add.

public class MainClass extends Frame implements WindowListener {

static String xmlParams;

public static void main(String[] args) {
    try {
            xmlParams = new String(base64Decoder.decodeBuffer(args[0]));
            MainClass mc = new MainClass();
            mc.setLayout(new FlowLayout());
            System.out.println(mc.getParameter("id"));
            mc.init();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}