我正在尝试运行我在创建的 Google 站点中编写的一些 Java 代码。我知道这有问题,但我尝试了以下两个选项:
按照此处所述使用代码包装器小工具:http://web.michaelchughes.com/how-to/embed-java-applets-in-google-sites。我使用以下 URL 中的代码包装器小工具:http://hosting.gmodules.com/ig/gadgets/file/105629041657992777031/code-wrapper.xml 以及以下 Javascript 代码:
<script type="text/javascript" src="http://www.java.com/js/deployJava.js"></script>
<script type="text/javascript">
/* <![CDATA[ */
var attributes = {
code: 'com.fusego.wimbeep.applet.ScreamURLApplet.class',
archive: 'http://sites.google.com/site/wimbeep/technology/wimbeeptools.jar',
width: 500,
height: 100
};
var parameters = { };
var version = '1.6';
deployJava.runApplet(attributes, parameters, version);
/* ]]> */
</script>
这不起作用 - 我在 Firefox 浏览器中打开调试控制台,发现部署Java 未定义。
使用带有标签的嵌入小工具:
<_applet archive="http://sites.google.com/site/wimbeep/technology/wimbeeptools.jar" code="com.fusego.wimbeep.applet.ScreamURLApplet.class" height="400" width="400"/>
这不起作用 - 我看到 JRE 已启动,但出现错误并且控制台报告以下内容:
load: class com.fusego.wimbeep.applet.ScreamURLApplet.class not found.
java.lang.ClassNotFoundException: com.fusego.wimbeep.applet.ScreamURLApplet.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.ClassNotFoundException: com.fusego.wimbeep.applet.ScreamURLApplet.class
这真是令人沮丧。我尝试了很多组合,无论代码属性中有或没有 .class 后缀,它都不起作用。有什么想法吗?
我遇到了类似的问题,我选择了简单的权宜之计,将小程序托管在另一个站点上,并在 sites.google.com 上发布了普通链接。或者,这个thread建议通过java-web-start加载小程序,引用这个example。
附录:这个(更透明)示例说明了几种方法。
我看到它使用以下 HTML 在本地“无错误加载”(然后不执行任何操作):
<html>
<head>
<title>WimBeepTools</title>
</head>
<body>
<applet
code="com.fusego.wimbeep.applet.ScreamURLApplet"
archive="wimbeeptools.jar"
width="500"
height="100">
</applet>
</body>
</html>
HTML 和 Jar 位于同一目录中,因此请在 http://sites.google.com/site/wimbeep/technology/applet001.html 加载 HTML,小程序应该会成功加载。
请务必添加
001
后缀,以确保我们可以在初始失败的情况下检查其他变体。用户看到的页面应该位于另一个 URL。
<_applet archive="http://sites.google.com/site/wimbeep/technology/wimbeeptools.jar" code="com.fusego.wimbeep.applet.ScreamURLApplet.class" height="400" width="400"/>
最初的
_
是为了防止网站“吞没”HTML 吗?将 HTML(JNLP/XML/输入/输出 & 源代码)放入代码标签中。小程序元素从来没有打算用 />
来“自关闭”。添加关闭小程序元素,如我的示例中所示。
最终最好使用
deployJava.js
来编写部署时嵌入小程序的元素。但首先,使用“普通旧 HTML”和 applet
元素修复路径和其他属性详细信息。
我今天早些时候看到了一些关于它的内容,但似乎我找不到它。
我确实发现了这个:https://developers.google.com/sites/gadgets/site_gadgets
可能会有帮助。