3

我也面临类似的问题:

我有一个 TrainingDNA.jar 的 TrainingDNA.jnlp。jar 和 jnlp 都是 Tomcat Apache 6(webapps/root) 在 linux 服务器上的主机。jnlp 在 64 位 Windows 操作系统中启动 jar 文件应用程序正常,但是当我尝试从:1. IE 浏览器 32 位操作系统,Win XP 它给我错误:“找不到主类:com.sangha.gui.Main,程序将退出” ,我启用了java控制台来查看输出,下面是java控制台错误:

Java Web Start 1.6.0_43
Using JRE version 1.6.0_43-b01 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\s-projectusertwod
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
m:   print memory usage
o:   trigger logging
p:   reload proxy configuration
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
0-5: set trace level to <n>
----------------------------------------------------
java.class.path=C:\\Program Files\\Java\\jre6\\lib\\deploy.jar
java.majorVersion=1
java.minorVersion=6
Class-Start=com.sangha.gui.Main
Class-Memory=1024
-propsResource
/com/sangha/gui/client.cfg
DNA.Client
Java Path=null
MAX MEMORY=259522560
Executing: javaw.exe -Xmx1024M -classpath C:\\Program Files\\Java\\jre6\\lib\\deploy.jar com.sangha.gui.Main -propsResource /com/sangha/gui/client.cfg DNA.Client
java.lang.NoClassDefFoundError: com/sangha/gui/Main
Caused by: java.lang.ClassNotFoundException: com.sangha.gui.Main
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)

2.来自 Firefox 的 java Java 6 窗口出现,java 控制台闪烁一秒钟。

PS:TrainingDNA.jar 没有任何问题,因为如果我不使用 JNLP 并双击并运行它,它在 32 位上运行良好。

下面是我的 jnlp 文件:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://192.168.244.25:8080/" href="TrainingDNA.jnlp">
<information>
<title>Training DNA</title>
<vendor>DNA</vendor>
<homepage href="http://www.google.com" />
<description>Web Porting Testing</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<jar href="TrainingDNA.jar" main="true" />
<j2se version="1.6+" />
</resources>
<application-desc main-class="com.sangha.util.Relauncher" />
</jnlp>

*上面提到的主类'Relauncher'只是应用程序的一个入口点,在这个类中它读取一个配置文件'relauncher.config',它又指定了应用程序的主类。配置文件内容如下:

Class-Start: com.sangha.gui.Main
Class-Memory: 1024
Class-Arg-0: -propsResource
Class-Arg-1: /com/sangha/gui/client.cfg
Class-Arg-2: DNA.Client
java.majorVersion: 1
java.minorVersion: 6 

问候,秋田

4

1 回答 1

0

(@akita 的评论重新发布为答案,以获得一些格式)

它开始在 32 位 java 中工作,并遵循:

替换:

<resources> 
    <j2se version="1.6+" />
    <jar href="TrainingDNA.jar" main="true" /> 
 </resources> 

和:

<resources> 
    <j2se version="1.6+" java-vm-args="-Xmx1024M"/>
    <jar href="TrainingDNA.jar" main="true" /> 
    <property name="sun.java2d.noddraw" value="true"/> 
</resources>
于 2019-01-28T13:22:47.267 回答