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

Java Web Start应用程序日志记录权限被拒绝

许安邦
2023-03-14

我的java应用程序可以独立运行。但是当我把它作为一个Java的网络启动应用程序运行时,它会启动,但是当我点击某个按钮时会失败。我不知道如何调试它,所以我想我应该添加日志记录。这导致了权限拒绝错误,甚至无法启动。

为了解决这个问题,我补充道

permission java.util.logging.LoggingPermission "control"

到C:\Program Files\Java\jre1。8.0-171\lib\security\java。策略文件和C:\Program Files\Java\jdk1。8.0-171\jre\lib\security\java。策略文件。重新启动Apache HttpServer并重试。同样的结果。

接下来,我将以下行添加到相同的两个文件中:

permission java.security.AllPermission;

同样的结果。

接下来,我对jar文件进行了自签名。同样的结果。

接下来我加了

<security><all-permissions/></security>

到动态生成的。jnlp文件。这一次,我收到了一条新消息:“未签名的应用程序请求不受限制地访问系统”

jarsigner验证确认jar文件已经签名:

jarsigner -verify myjarfile.jar

jar验证过了。

我不知道还能尝试什么。建议?

共有1个答案

林鹭洋
2023-03-14

首先,在“控制”后面需要有一个“;”。我不知道这本身是否能解决问题,但我在日志文件中发现了一个解析错误。与此同时,我已经将所有的“记录器”命令都改回了System.out.println命令。

接下来,我在Java控制面板的高级选项卡中选中了“启用跟踪”和“启用日志记录”。

然后,在DOS shell中,我导航到myjnlp的位置。jnlp文件,并输入以下命令:

set JAVAWS_TRACE_NATIVE=1
set JAVA_TOOL_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
javaws myjnlp.jnlp

这导致在C:\Users\Greg\AppData\LocalLow\Sun\Java\Deployment\log的主目录中创建了日志文件,在那里我可以看到发生了什么。

不幸的是一个新问题。请参阅下面的代码:

    File source = new File(localFilename);
    File dest = new File("C:/E360/CadIntegration/" +localFilename);
    try {
        Files.copy(source.toPath(),dest.toPath());
        msg = "Because IP was blank, file was copied to C:/E360/CadIntegration";
    } catch (IOException ex) {
        msg = "problem copying " +source.toPath() +" to " +dest.toPath();
        System.out.println("uploadCadChanges: " +msg +", IOException is "+ex.getMessage());
    }

如果我使用javaws运行这个应用程序,它工作得很好,文件复制成功。但是,如果我从网页上运行它,它会失败,出现IOException,ex.getMessage()只会显示“CadChanges.txt”。真的很有帮助。

我找到了原因。从网页运行时,当前工作目录将更改为current dir=C:\Program Files(x86)\Google\Chrome\Application\67.0.3396.99,但从javaws运行时,则不是。解决方案是将当前目录传递给。jnlp文件,并让应用程序将cwd更改为它。

 类似资料:
  • 问题内容: 是否可以使用java.util.Logging并登录到Java Webstart应用程序中的文件?我有以下记录代码: 并得到以下异常: 问题答案: 访问控制异常表明: “访问被拒绝(java.util.logging.LoggingPermission控件)” 权限类的javadoc这样说: “当前只有一个名为LoggingPermission的控件。这是“控件”,它具有控制日志记录配

  • 我正在尝试使用 PHP 制作日期日志文件。我正在Macbook上的xampp上运行它。它一直说许可被拒绝。我该如何解决这个问题? 我收到的错误是: 警告: fopen(星期五-01-四月-16.txt): 无法打开流: 权限被拒绝 /Applications/XAMPP/xamppfiles/htdocs/aowigman/index.php 在第 6 行无法打开文件! 代码: 先谢谢!

  • 我有一个使用Spring Boot开发的微服务。应用程序部署在pivotal cloud Foundry。我已经在logback.xml中设置了日志级别,它是应用程序的一部分。为了更改日志级别,我必须更新logback.xml并重新构建/重新部署应用程序。有没有更好的方法做到这一点,而不必重新部署应用程序?有没有办法在PCF中将日志级别设置为env变量?

  • 需要帮助...我在这里做错了什么???我相信它确实从应用程序属性文件中读取路径和文件名。但我不认为它读取了logback.xml或logback-spring.xml 我做了一些研究,发现了许多问题/答案。但是我想每个人都说要把logback xml放在资源中,把路径和文件名放在application.properties.我知道这很简单,但是在某个地方遗漏了一些东西… 提前谢谢!! 应用程序属性

  • 为我的android应用程序使用MYSQL: 主要活动。 无法连接到mysql数据库 与IP地址和我的服务器有关吗?

  • 由于Oracle发布了Java7Update25,我们的应用程序不再运行。 最初我们得到了一些关于代码库的警告 我们现在遇到的问题是,在控制台中,我们只得到以下行: 我们还会得到一个应用程序错误对话框,其中包含消息:无法启动应用程序。 “详细信息”按钮在异常中提供以下详细信息: 相关代码部分包括: (最后一行是第139行) (最后一行是发生异常的第24行) 有人能给我们一些提示(或者更好的解决方案