【问题标题】:Embed Java Applet on GitHub Page在 GitHub 页面上嵌入 Java 小程序
【发布时间】:2014-06-10 11:42:38
【问题描述】:

我正在开发一个托管在 GitHub 上的 Java 项目。我想使用 GitHub Pages 在 GitHub 上托管一个嵌入了小程序的页面。现在,我正在尝试在页面中嵌入一个小程序,小程序文件托管在 GitHub 上的 gh-pages 分支上。我将 Java 小程序导出为“已分解”,因此所有类文件都显示在其正确的层次结构中。在`index.html中,我使用的是这段代码:

<section id="main_content">
            <script>
                var attributes = {codebase: 'cubesorter/me/nrubin29/cubesorter/',
                    code: 'Viewer.class',
                    archive: 'cubesorter.jar',
                    width: '800',
                    height: '600'};
                var parameters = {java_arguments: '-Xmx256m'}; // customize per your needs
                var version = '1.5'; // JDK version
                deployJava.runApplet(attributes, parameters, version);
            </script>
        </section>

但是,我得到了 ClassNotFoundException 对应的 Viewer.class。我是否已正确设置所有内容?

【问题讨论】:

  • 网页的网址是什么?
  • 我实际上从存储库中删除了gh-pages 分支,因为我放弃并决定使用我已经拥有的服务器。我可以设置一个 repo 来继续测试。

标签: java github applet embed script-tag


【解决方案1】:

我还不能离开 cmets,但我想知道 ClassNotFoundException 是指您编写的类之一还是依赖项中的类。您是否依赖外部 .jar 文件?它们可能在您的开发环境中,但不在部署中。也许您需要 Maven 之类的东西来确保所有内容(包括所有类)都已部署。

【讨论】:

  • 我没有任何外部库。如果您查看正确的分支,代码在 GitHub 上:github.com/nrubin29/cubesorter
  • 我刚刚添加了CNFEViewer.class 的问题。
【解决方案2】:

您需要将 viewer.class 移动到 cubesorter/tree/gh-pages 目录中。 简单的修复。不多说了。

 <!-- try the applet tag instead -->
 <applet src="cubesorter.jar" code="https://github.com/nrubin29/cubesorter/blob/gh-pages/cubesorter/me/nrubin29/cubesorter/Viewer.class?raw=true">Java not supported</applet>

 <!-- <section id="main_content">
        <script>
            var attributes = {codebase: 'cubesorter/me/nrubin29/cubesorter/',
                //How is this even parsed?
                code: 'https:\/\/github.com\/nrubin29\/cubesorte\r/blob/gh-pages/\cubesorter\/me\/nrubin29\/cubesorter\/Viewer.class?raw=true',
                archive: 'cubesorter.jar',
                width: '800',
                height: '600'};
            var parameters = {java_arguments: '-Xmx256m'}; // customize per your needs
            var version = '1.5'; // JDK version
            deployJava.runApplet(attributes, parameters, version);
        </script>
 </section> -->

在上面的代码中,我为你热链接了 viewer.class

【讨论】:

  • 不太清楚你的意思。我正在指定类文件的路径,所以这无关紧要。
  • @nrubin29 - 这不是服务器端:那是服务器上的路径。您需要客户端的路径,例如 cubesorter.github.io/viewer.class 而不是 /nrubin29/cubesorter/gh-pages/viewer.class
  • java.lang.ClassNotFoundException: https:..github.com.nrubin29.cubesorter.blob.gh-pages.cubesorter.me.nrubin29.cubesorter.Viewer.class?raw=true。我是不是忘了转义/s?
  • /s 加倍并没有帮助。我认为它将路径中的所有/s 替换为.s。
  • 使用带有\/s 的最新代码,我仍然得到:java.lang.ClassNotFoundException: https:..github.com.nrubin29.cubesorte.blob.gh-pages.cubesorter.me.nrubin29.cubesorter.Viewer.class?raw=true。请注意,我正在使用 IntelliJ 并在 localhost:63342/CubeSorter%20Web/index.html 进行本地测试。是这个问题吗?
猜你喜欢
  • 2011-10-15
  • 1970-01-01
  • 2012-03-24
  • 2014-04-01
  • 2012-08-02
  • 2014-07-13
  • 1970-01-01
  • 2021-12-21
  • 2011-03-21
相关资源
最近更新 更多