gpt4 book ai didi

java - 使用 jnlp 获取 java applet 在浏览器中运行

转载 作者:行者123 更新时间:2023-11-29 06:00:20 26 4
gpt4 key购买 nike

我有一个非常简单的 Java 小程序,是从这里获取的:http://docs.oracle.com/javase/tutorial/deployment/applet/subclass.html

import javax.swing.JApplet;
import javax.swing.SwingUtilities;
import javax.swing.JLabel;

public class HelloWorld extends JApplet {
//Called when this applet is loaded into the browser.
public void init() {
//Execute a job on the event-dispatching thread; creating this applet's GUI.
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
JLabel lbl = new JLabel("Hello World");
add(lbl);
}
});
} catch (Exception e) {
System.err.println("createGUI didn't complete successfully");
}
}
}

当我右键单击并执行 Run As > Java Applet 时,我可以让小程序在 eclipse 中运行,但现在我试图将它放入一个 jar 文件中,并使用 jnlp 通过浏览器。这些是我尝试执行此操作所采取的步骤:

  1. javac -d build HelloClass.java
  2. cd 构建
  3. jar cvf Hello.jar *.class
  4. 创建 Hello.jnlp 文件:
    <?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">
<information>
<title>Hello Applet</title>
<vendor>Self</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se" />
<jar href="Hello.jar" main="true" />

</resources>
<applet-desc
name="Hello Applet"
main-class="HelloClass"
width="300"
height="300">
</applet-desc>
<update check="background"/>
</jnlp>
  1. 创建 html 页面:
    <html>
<head>
<title>Hello Applet</title>
</head>
<body>
<!-- ... -->
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
var attributes = {
code:'HelloClass', width:300, height:300} ;
var parameters = {jnlp_href: 'Hello.jnlp'} ;
deployJava.runApplet(attributes, parameters, '1.6');
</script>
<!-- ... -->
</body>
</html>

当我在浏览器中打开此页面时,系统会提示我允许该小程序运行,但随后我会收到以下详细信息的错误消息:

Exception: java.lang.UnsupportedClassVersionError: HelloClass : Unsupported major.minor version 51.0

最佳答案

代码显然是由 1.7 SDK 编译的,没有使用任何 cross-compilation options ,而尝试加载它的 JRE 版本为 6 或更低。

要为特定 Java 版本编译代码,请使用交叉编译选项。要正确执行此操作,需要目标版本的 rt.jar(以使用 javacbootclasspath 选项)。

关于java - 使用 jnlp 获取 java applet 在浏览器中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10388939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com