Sym - 一个用 Java 实现的现代化社区平台 • 源码 • 注册

Pipe - 小而美的开源博客平台 • 体验 • 皮肤
Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载 
Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

applet 不能显示解决方法

最近决定写一个可以在 Web 页面使用的工作量设计器。貌似要用来做毕业设计的一部分。
于是花了 2 天的时间来 research。首先被建议用 Applet,于是用一天的时间来做,基本明白了个大概。。。
以前没接触过,后来被建议用 JavaFX,也是没接触过,又 research 了一天。感觉很爽,想用这个做,可是最终还是被
leader 说服了用 applet。。。
于是开始写 Demo,开始运行,shit,由于在公司环境有事要用 jdk1.4,有时用 1.6,后面忘记改了。又花了一早上搞定。
next day 发现只可以用 appletviewer 查看,部署在 Tomcat 里面不行。。。出现的情况如下:
1.Tomcat 中 class 和 webpage 在同一个 folder 下时可以使用
2.Tomcat 中 class 放在 WEB-INF 下时就不会显示。。。提示:
java.lang.ClassNotFoundException: net.java.dev.beyondtrack.web.workflow.designer.applet.WorkflowDesignerJApplet.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.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.Plugin2ManagerAppletExecutionRunnable.run(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at java.lang.Thread.run(Unknown Source)<br>Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8084/beyondtrack-war/WEB-INF/classes/net/java/dev/beyondtrack/web/workflow/designer/applet/WorkflowDesignerJApplet/class.class<br>&nbsp;&nbsp;&nbsp; at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at java.security.AccessController.doPrivileged(Native Method)<br>&nbsp;&nbsp;&nbsp; ... 7 more<br><br>于是想了个最简单的办法来解决。。。<br>把WEB-INF下的classes 拷贝出来,ok,搞定了,可是觉得很麻烦。。。<br>在于是想了第二个办法:该工程是在Maven下构建的,为什么不好好利用maven的功能呢。于是把target/classes目录改到了<br>target/beyondtrack-war/classes 下面,ok。。。<br><br>主要修改了一下web下的pom.xml<br>&lt;build&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;finalName&gt;beyondtrack-war&lt;/finalName&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- It's just move target/classes to target/beyondtrack-war/classes and<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cann't create hibernate.cfg, jbpm.cfg and messages in classes floder.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;directory&gt;target&lt;/directory&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;outputDirectory&gt;target/beyondtrack-war/classes&lt;/outputDirectory&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;resources&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;resource&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;directory&gt;src/mian/java&lt;/directory&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;excludes&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;exclude&gt;**/**/*.java&lt;/exclude&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/excludes&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/resource&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/resources&gt;<br>&lt;/build&gt;<br>[1]&lt;finalName&gt;,该元素指定了工程输出的artifact的名称,默认值为{artifactId}-${version},此处修改为 beyondtrack-war。
[2]<directory>,该元素指定了工程输出的目标目录。默认值为 target,此处未修改变。
[3]<outputDirectory>,该元素指定了编译后的 class 文件的放置目录。默认值为 target/classes,此处修改为 target/beyondtrack-war/classes。
[4]<resource> 指定了 Java 源文件使用的资源文件的存放目录,使用的是默认值。。。


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步