当前位置: 首页 > 知识库问答 >
问题:

使用Java Web Start时找不到文件

夹谷浩博
2023-03-14

我试图用JavaWebStart来代替Javaapplet,但每次我运行。jnlp文件要么直接从web服务器,要么直接从我的计算机。它给了我一个错误。

我看到JavaWeb启动启动屏幕,然后出现默认进度条。它下载,然后验证我的罐子,但不久之后,以下错误消息出现“无法启动应用程序”。

CouldNotLoadArgumentException[ Could not load file/URL specified: C:\Users\[username]\AppData\Local\Temp\tmp_cache9015150161909242571.tmp]
    at com.sun.javaws.Main.launchApp(Unknown Source)
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
    at com.sun.javaws.Main.access$000(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.io.FileNotFoundException: C:\Users\[username]\AppData\Local\Temp\tmp_cache9015150161909242571.tmp (The system cannot find the file specified)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at com.sun.javaws.jnl.LaunchDescFactory.buildDescriptor(Unknown Source)
    at com.sun.javaws.Main.launchApp(Unknown Source)
    at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
    at com.sun.javaws.Main.access$000(Unknown Source)
    at com.sun.javaws.Main$1.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我在Temp文件夹中没有看到任何看起来像tmp_cache的文件。

这是我的JNLP文件:

<?xml version="1.0" encoding="utf-8"?>

<jnlp spec="1.0+"
    codebase="http://localhost:2020/MyServer/applets"
    href="basicTest.jnlp">
    <information>
        <title>JWS Test</title>
        <vendor>My Company</vendor>
    </information>

    <resources>
        <j2se version="1.7+"
            href="http://java.sun.com/products/autodl/j2se"/>
        <jar href="basicTest.jar" main="true" />
    </resources>

    <application-desc
        name="Test Name"
        main-class="main.Entry">
    </application-desc>
    <update check="background"/>
</jnlp>

我尝试过的事情:

  • 从我的web服务器下载JNLP文件和JAR(正常工作)
  • 使用一个全新的、光秃秃的罐子,除了一个主要的方法和一个系统什么都没有。出来print()语句(结果相同)
  • 在中更改href。jnlp文件(不同的错误消息,无法按预期找到.jar。我的服务器日志将其正确显示为404)
  • 更改main class属性的值(相同的结果表明JVM从未启动)
  • 从Sun运行其他示例应用程序(在通过浏览器运行或运行下载的.jnlp文件时,这些应用程序正常运行)
  • 清除我的java缓存和临时文件(结果相同)

我确实想知道没有完全签名的jar是否重要(我的jar目前在开发中是自签名的),但我预计在这种情况下会出现不同的错误。

jar文件似乎被下载到一个位置,并经过验证,但当JVM试图启动它时,却找不到它。是否存在缓存位置冲突?

共有1个答案

狄玮
2023-03-14

其中一个原因可能是JRE 7以后的安全性很高。需要签名。

 类似资料:
  • 如果我尝试选择存在于ngIF指令中的DOM元素,则该元素为空。如果我删除ngIF,那么我可以选择它。 组件模板中的代码,未找到div: 去掉*ngIf和外部报告div的内容。 ngAfterViewInit是否在数据返回之前运行以确定ngIF发生了什么?我希望ngIF首先运行,而ngAfterViewInit是最后运行的东西。 注意:groupedPatchGroups 值在 ngOnInit 中

  • 问题内容: 我的主文件夹中有一个脚本。 当我导航到该文件夹​​并输入时,我得到 。 当我使用时,我得到 。 为什么会发生这种情况,我该如何解决? 问题答案: 没有权限 为了运行脚本,文件必须 设置可执行权限 。 为了完全理解Linux 文件权限,您可以学习命令的文档。chmod是 change mode 的缩写,是用于更改文件的权限设置的命令。 要阅读本地系统的chmod文档,请运行或从命令行运行

  • 我正在使用OpenCsv为我的Android应用程序解析.csv文件。我用 kotlin 编写代码。这是我的代码: 我是这样解析csv文件的: 这是我要将csv数据转换为的对象类。 } 我已经在build.gradle文件中添加了这一行: 这是我的csv文件内容: G T,11111 11111 H K,2222222222 KK,33333 33333 P K,44444 44444 但是当我运

  • 我的电脑是Windows 8 64位,我为我的项目安装了cordova和android平台,我已经通过输入和创建了我的项目,但是当我运行时,它显示如下错误: 我搜索了网络,但还没有找到解决方案,有什么问题?

  • 所以,我最近创建了我的第一个插件,叫做BetterTeaming。该插件正在使用插口api。插件发布后,一段时间后,有人建议我使用Maven从编译的jar中删除插口api依赖项。这应该缩小文件大小。然而,我对Maven了解不多。我成功地设置了它,并将文件复制到Maven文件夹(包括层次结构截图),但每次我在本地服务器Minecraft上加载插件时,它都会向我抛出ClassNotFoundExcep

  • 我正在使用Visual Studio2013进行CUDA(7.0)项目。该项目为64bit。我正在使用驱动程序API,需要从ptx或cubin文件加载模块。但我找不到文件。在VS I go properties->cuda C/C++->common->nvcc编译类型中,将其更改为-cubin或ptx。编译器完成ok但我找不到那个文件。我只能在output debug目录中看到kernel.cu