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

Windows 10不信任Gradle Launch4J EXE

严令秋
2023-03-14

请注意:我在这里创建了这个GitHub项目,它可以用来完美地再现我看到的问题。

Java8试图通过gradle-launch4j Gradle插件使用Launch4J构建一个Windows本机EXE应用程序。我正在我的Mac上开发一个Java Swing应用程序,但该应用程序必须在Windows10上作为Windows EXE运行。我也在使用ShadowJar来构建我自带的“胖罐”。

我可以构建(Swing)应用程序的fat jar,然后通过java-jar build/lib/myapp.jar在Mac上运行它。它启动和运行没有问题。

launch4j {
    mainClassName = 'com.example.windows.hello.HelloWindowsApp'
    icon = "${projectDir}/icon.ico"
    jdkPreference = 'jdkOnly'
    initialHeapSize = 128
    jreMinVersion = '1.8.0'
    jreMaxVersion = '1.8.9'
    maxHeapSize = 512
    stayAlive = false
    bundledJre64Bit = true
    bundledJrePath = '../hello-windows/jre8'
}
hello-windows.zip/
    hello-windows.exe       -->     The Windows EXE built by the 'createExe' task
    lib/*                   -->     The lib/ dir for the EXE that is also built by the `createExe` task 
    jre8/                   -->     OpenJDK JRE8 (copied from the libs/jre8 dir)

为什么会出现这种情况?有没有任何Launch4J的配置/设置我可以改变,这样就不会发生这种情况了?

提前道谢!

共有1个答案

柴阳云
2023-03-14

你的第一个问题更像是一个Windows问题。当您从zip文件解压缩应用程序时,Windows自然会将其标记为不安全,事实上,如果您选中“应用程序属性”选项卡,您将看到一个复选框,您可以在其中删除该不安全属性。这与在Linux中为可执行脚本运行chmod+x相同。

对于第二部分,我假设您正在使用用于Launch4j的gradle插件,有两种主要的方法来配置Launch4j,假设您的项目文件夹通常是在包含可执行文件夹的同一文件夹中使用jre库进行结构化的。

>

  • 只指定路径,如下所示

    ../jre
    
    ../jre/bin/javaw.exe
    
    <jre>
        <path>../jre</path>
    </jre>
    

  •  类似资料:
    • 问题内容: 我有一个Web应用程序,该应用程序调用通过SSL保护的SOAP Web服务。)。 服务器发送两个证书(Root和Leaf),因此我使用属性导入了两个证书:。 要在Websphere上启用ssl验证,我只需将证书添加到websphere中: SSL证书和密钥管理->密钥库和证书-> NodeDefaultTrustStore->签署者证书->从端口检索: 主机:主机名 端口:443 别名

    • 在Windows10中输入以下命令并启动无头chrome版本时,没有发生任何事情(有/没有扩展): 它只是悄悄地返回到命令行,我找不到任何pdf文件。 有人遇到过同样的问题并设法解决了吗? 我正在使用:Google Chrome 63.0.3239.84(官方版本)(64位)(队列:63_Win_84)

    • 问题内容: 我正在使用和。 我能够正确安装,但无法启动默认VM。 我试图按照此处给出的说明进行操作,但仍然出现错误。我尚未在系统上启用。 我该如何解决这个问题? 问题答案: 您的docker-machine默认计算机似乎发生了一些问题。 要恢复,请执行以下操作: 接下来,打开virtualbox GUI并确保没有与该旧“默认” VM相对应的VM,以防万一。如果有,请从那里手动将其删除。 现在,再次

    • 一个程序应该永远不要假设用户环境是健全的。这包括(但是决不限于此): 用户输入,信号,环境变量,资源,IPC,mmap(内存映射),工作目录的文件系统, 文件描述符,打开文件的数量,等等 你永远不要假设你可以捕捉到所有的用户可能产生的非法输入样式。 换言之,你的程序应该过滤只准许一些你认为安全的特别的输入子集。 不正确的确认数据会导致各种错误,特别是在互联网上的CGI脚本。 对于文件名你应该额外小

    • 我有一个关于使用无效证书通过https测试网站的问题。你能帮忙吗?我正在临时服务器上测试一个网站。它需要https,并且使用了无效的证书,该证书属于生产服务器。因此,当我访问该网站时,FireFox会显示“此连接不受信任页面”。我已经设法让firefox跳过页面;但是,如果我不使用Selenium(Python绑定)运行它,它将再次显示“Untrusted”页面。所以,我做了更多的研究,发现: h

    • 我正试图将我的计算机配置为信任用于测试网站的自签名证书。然而,我在Firefox上遇到了一些问题。Chrome和IE都没问题。 我做了以下几点。 使用OpenSSL创建2048位pem rsa密钥和crt 从密钥和crt文件创建pfx文件 使用MMC将pfx导入到服务器上的个人证书存储中 将IIS配置为使用站点的证书 在客户端PC上 null 我还尝试将证书直接添加到Firefox的权限列表中。它