applet 不能顯示解決方案

來源:互聯網
上載者:User
最近決定寫一個可以在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.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
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
    at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    ... 7 more

於是想了個最簡單的辦法來解決。。。
把WEB-INF下的classes 拷貝出來,ok,搞定了,可是覺得很麻煩。。。
在於是想了第二個辦法:該工程是在Maven下構建的,為什麼不好好利用maven的功能呢。於是把target/classes目錄改到了
target/beyondtrack-war/classes 下面,ok。。。

主要修改了一下web下的pom.xml
<build>
        <finalName>beyondtrack-war</finalName>
         <!-- It's just move target/classes to target/beyondtrack-war/classes and
              cann't create hibernate.cfg, jbpm.cfg and messages in classes floder.
         -->
        <directory>target</directory>
        <outputDirectory>target/beyondtrack-war/classes</outputDirectory>
        <resources>
            <resource>
                <directory>src/mian/java</directory>
                <excludes>
                    <exclude>**/**/*.java</exclude>
                </excludes>
            </resource>
        </resources>
</build>
[1]<finalName>,該元素指定了工程輸出的artifact的名稱,預設值為${artifactId}-${version},此處修改為beyondtrack-war。
[2]<directory>,該元素指定了工程輸出的目標目錄。預設值為target,此處未修改變。
[3]<outputDirectory>,該元素指定了編譯後的class檔案的放置目錄。預設值為target/classes,此處修改為target/beyondtrack-war/classes。
[4]<resource>指定了java源檔案使用的資源檔的存放目錄,使用的是預設值。。。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.