Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
预加载2个JAR时Java小程序权限被拒绝_Java_Permissions_Jar_Applet_Archive - Fatal编程技术网

预加载2个JAR时Java小程序权限被拒绝

预加载2个JAR时Java小程序权限被拒绝,java,permissions,jar,applet,archive,Java,Permissions,Jar,Applet,Archive,当我尝试启动小程序时,出现错误SecurityException权限被拒绝:file:/d:/Notes/Notes.jar 我需要在小程序中使用2个JAR: jar-jar存储小程序的代码(jar已签名且工作正常) jar-这是一个允许使用LotusNotes的库 数据库 第一个jar是从服务器加载的,第二个jar应该从用户的笔记本电脑(存储在运行小程序的笔记本电脑上的本地文件)加载 我正在使用html代码: <APPLET CODE = "com.example.AppletClass

当我尝试启动小程序时,出现错误
SecurityException权限被拒绝:file:/d:/Notes/Notes.jar

我需要在小程序中使用2个JAR:

  • jar-jar存储小程序的代码(jar已签名且工作正常)
  • jar-这是一个允许使用LotusNotes的库 数据库
  • 第一个jar是从服务器加载的,第二个jar应该从用户的笔记本电脑(存储在运行小程序的笔记本电脑上的本地文件)加载

    我正在使用html代码:

    <APPLET CODE = "com.example.AppletClass" WIDTH = 640 HEIGHT = 480
    archive="Applet.jar,file:///${user.apiPath}">
    <PARAM NAME = "db_path" VALUE ="${user.dbPath}">
    <PARAM NAME = "view_name" VALUE ="${user.viewName}">
    Your browser doesn't support applets
    </APPLET>
    
    
    您的浏览器不支持小程序
    
    问题出在以下行:archive=“Applet.jar,file://${user.apiPath}”

    ${user.apiPath}=d:/Notes/Notes.jar

    无法加载第二个罐子。但如果我将第二个jar移动到服务器并将其加载到客户端的笔记本电脑上,一切都会正常工作

    不幸的是,这个解决方案对我来说不是很好

    是否有可能从不同的位置加载2个JAR:服务器和本地?

    刚刚注意到

    你写的东西就像一条小路

    d:/Notes/Notes.jar

    我不太确定,但本地文件路径(至少在win中)正在使用反斜杠

    x:\folder\file.txt

    无论如何,这将更有助于你指出操作系统是关于什么的

    还有一件事

    异常表示小程序正在尝试将jar作为

    文件:/d:/*jar的文件夹路径*/jar-name.jar

    。。。但是你说applet需要jar

    d:/Notes/Notes.jar


    所以我只想问一下Notes.jar是否存在于客户机上?

    “第一个jar是从服务器加载的,第二个jar应该从用户的笔记本电脑加载”你到底为什么不从服务器上交付第二个jar?第二个jar是特定于版本的,所以我需要从用户的笔记本电脑上获取合适的jar。Lotus Notes 7的jar不适用于Lotus Notes 8.5 Lotus Notes 8.5的jar不适用于Lotus Notes 7,我认为您应该为版本7和8.5提供不同的小程序页面,并为每个版本添加适当的jar。或者更好的是,完全丢失applet,将GUI放在一个框架中,并使用直接从链接启动它。您可以添加两个Jar作为应用程序的不同下载“部分”进行延迟加载,并通过编程控制为用户缓存哪个Jar。请注意,我怀疑您当前的方法总是有问题的。JRE是为保护用户而设计的,它不喜欢分割代码基。@user592704正如我所提到的:
    Applet.jar-jar存储小程序的代码(**jar已签名并且工作正常**)
    我不太确定,但本地文件路径(至少在win中)使用反斜杠……无论如何,这将更有助于您指出操作系统是关于哪个操作系统的。
    我在jar路径上尝试了不同的斜杠(该路径将由用户在TextField中输入)。我使用的是Windows7,但是代码应该尽可能独立于操作系统
    file:/d://*jar的文件夹路径*/jar-name.jar=d:/Notes/Notes.jar
    这是我的错。我已经修好了。