3

我正在尝试运行我在创建的 Google 站点中编写的一些 Java 代码。我知道这有问题,但我尝试了以下两个选项:

  1. 使用此处描述的 Code Wrapper 小工具:http ://web.michaelchughes.com/how-to/embed-java-applets-in-google-sites 。我使用来自以下 URL 的 Code Wrapper 小工具: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 浏览器中打开一个调试控制台,我看到 deployJava 未定义。

  1. 使用带有标签的嵌入小工具:

    <_applet archive="http://sites.google.com/site/wimbeep/technology/wimbeeptools.jar" 代码="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 后缀,它只是不起作用。有任何想法吗?

4

2 回答 2

4

我遇到了类似的问题,我选择了将小程序托管在另一个站点上的简单权宜之计,并在sites.google.com上发布了一个普通链接。或者,这个线程建议通过加载小程序,引用这个例子

附录:这个(更透明的)示例说明了几种方法。

  • Java 网络启动
  • JWS 小程序
  • 传统小程序
  • 带有清单的可下载 JAR
于 2012-04-28T14:20:22.273 回答
2

我用这个 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。

顺便提一句

对 HTML 使用代码格式

<_applet archive="http://sites.google.com/site/wimbeep/technology/wimbeeptools.jar" 代码="com.fusego.wimbeep.applet.ScreamURLApplet.class" height="400" width="400" />

最初_是为了防止网站“吞下”HTML 吗?将 HTML(JNLP/XML/输入/输出源代码)放入代码标签中。小程序元素从未打算使用/>. 如我的示例所示,添加结束小程序元素。

先对细节进行排序

最终最好使用deployJava.js来编写部署时嵌入小程序的元素。applet但首先,使用“plain old HTML”和元素修复路径和其他属性细节。

于 2012-04-26T08:57:45.377 回答