2012-01-03 7 views
0

Java Web Startを使用してJARファイルを実行したいとします。残念ながら、JARファイルを動的にロードする必要があります(Moodleに格納されています)。したがって、JARファイルへのリンクは ".jar"で終了しません。実際にはJARファイルを動的にロードするPHPスクリプトの呼び出しです。ブラウザでリンクを開くと、JARファイルがダウンロードされます。とにかく、Java Web Startはそれをダウンロードできません。JNLPリソースタグの* .jarで終わらないリソースからJARをロードするにはどうすればよいですか?

com.sun.deploy.net.FailedDownloadException:Ressource konnte NICHTのgeladenのwerden:COMでcom.sun.deploy.net.DownloadEngine.actionDownload(不明なソース) でhttp://localhost/moodle22/pluginfile.php/39/mod_assignment/my_file 私は次の例外を取得します。 com.sun.deploy.net.DownloadEngine.getCacheEntry(不明な情報源)の com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(不明な情報源)の com.un.deploy.net.DownloadEngine.getCacheEntry(不明な情報源) at com .sun.deploy.net.DownloadEngine.getResourceCacheEntry(不明なソース) com.sun.deploy.net.DownloadEngine.getResource(不明なソース) com.sun.javaws.LaunchDownload $ D (不明なソース) at java.util.concurrent.ThreadPoolExecutor $ Worker(不明なソース)

:java.lang.Thread.runでjava.util.concurrent.ThreadPoolExecutor $ Worker.run(不明なソース) (不明なソース)

そしてカプセル化された例外で.runTask(不明なソース)

java.io.IOException:無効なjarファイル com.sun.deploy.net.HttpDownload (不明なソース) com.sun.deploy.cache.Cache.downloadResourceToTempFile(不明なソース) com.sun.deploy.cache.Cache.downloadResourceToCache(不明なソース) com.sun.deploy.net .DownloadEngine.actionDownload(不明なソース) com.sun.deploy.net.DownloadEngine.getCacheEntry(不明なソース) com.sun.deploy.net.DownloadEngine.getCacheEntry(不明なソース) com.sun.deploy。 com.sun.javawsでcom.sun.deploy.net.DownloadEngine.getResource(不明なソース) でcom.sun.deploy.net.DownloadEngine.getResourceCacheEntry(不明なソース) でnet.DownloadEngine.getResourceCacheEntry(不明なソース) .LaunchDownload $ DownloadTask.call(不明なソース) at java.uti (不明なソース) のjava.util.concurrent.ThreadPoolExecutor $ Worker.runTask(不明なソース)の で を入力してください。 .concurrent.ThreadPoolExecutor $ Worker.run(不明なソース)java.lang.Thread.runで (不明なソース)

マイJNLPファイル:

<?xml version="1.0" encoding="utf-8"?> 
<jnlp codebase="http://localhost"> 
    <information> 
    <title>Test</title> 
    <vendor>Me</vendor> 
    <homepage href="http://www.google.com"/> 
    <description>Test</description> 
    <offline-allowed/> 
    </information> 
    <security> 
    <all-permissions/> 
    </security> 
    <resources> 
    <java version="1.5+"/> 
    <jar href="moodle22/pluginfile.php/39/mod_assignment/my_file"/> 
    </resources> 
    <application-desc> 
    <argument>--argument</argument> 
    </application-desc> 
</jnlp> 

私は直接にJARを参照する場合そのようなリンクでは、すべてが正常に機能します:

<resources> 
    <java version="1.5+"/> 
    <jar href="moodle22/mod/assignment/type/something/tmp/test.jar"/> 
</resources> 
+3

作品

Content-type: application/java-archive 

:一つは、適切なコンテンツタイプを設定する必要があります。 'Content-Type'とは何ですか? ASCIIモードで書いていますか?私はMoodleを本当に知っていませんが、なぜそれが拡張子を持つことができませんか? – Amadan

答えて

1

ありがとう@Amadan!

Java Web Startは実際には、 ".jar"で終わらないリソースからJARをロードできます。そして、それは我々がpluginfile.php`が何を `知っている限り、本当に多くを助け、そしてまさにそれが機能することはできません完全に:-)

関連する問題