【问题标题】:Unable to access jarfile in appdata无法访问 appdata 中的 jarfile
【发布时间】:2016-06-27 17:49:35
【问题描述】:

我正在编写一个 Java 程序,并且有一个 launch4j 启动器。我的 JAR 存储在 users %APPDATA% 文件夹下,但是当我尝试在 launch4j 中使用它时,我收到此错误:

这是我的launch4j.xml 文件(这是由 Gradle 插件自动生成的):

<?xml version='1.0' encoding='UTF-8'?>
<launch4jConfig>
  <dontWrapJar>true</dontWrapJar>
  <headerType>gui</headerType>
  <jar>%APPDATA%\Derby Pro\derby-pro.jar</jar>
  <outfile>DerbyPro.exe</outfile>
  <errTitle></errTitle>
  <cmdLine></cmdLine>
  <chdir>.</chdir>
  <priority>normal</priority>
  <downloadUrl>http://java.com/download</downloadUrl>
  <supportUrl></supportUrl>
  <stayAlive>false</stayAlive>
  <restartOnCrash>false</restartOnCrash>
  <manifest></manifest>
  <icon>../../src/main/resources/com/neonorb/derbypro/assets/derby-pro-icon-favicon.ico</icon>
  <jre>
    <path>%APPDATA%\Derby Pro\jre</path>
    <bundledJre64Bit>false</bundledJre64Bit>
    <bundledJreAsFallback>false</bundledJreAsFallback>
    <minVersion>1.8.0</minVersion>
    <maxVersion></maxVersion>
    <jdkPreference>preferJre</jdkPreference>
    <runtimeBits>64/32</runtimeBits>
  </jre>
  <versionInfo>
    <fileVersion>0.0.0.0</fileVersion>
    <txtFileVersion>0.0.0</txtFileVersion>
    <fileDescription>derby-pro</fileDescription>
    <copyright>unknown</copyright>
    <productVersion>0.0.0.0</productVersion>
    <txtProductVersion>0.0.0</txtProductVersion>
    <productName>Derby Pro</productName>
    <companyName>Neon Orb</companyName>
    <internalName>derby-pro</internalName>
    <originalFilename>DerbyPro.exe</originalFilename>
  </versionInfo>
</launch4jConfig>

【问题讨论】:

    标签: java windows launch4j


    【解决方案1】:

    我可以通过省略&lt;jar&gt; 标签并添加一个包含-jar "%APPDATA%\Derby Pro\derby-pro.jar"&lt;opt&gt; 标签来使其工作

    【讨论】:

      【解决方案2】:

      问题是jar路径位置是相对于执行路径的。 %APPDATA% 被视为不是变量而是整个路径的一部分。如果 jar 文件与启动器位于同一位置,则只需指定文件名即可。

      【讨论】:

      • 这应该被视为评论,但我没有 50 声望喷气机,我必须发布答案。
      • JAR 与启动器不在同一目录中,它在 APPDATA 文件夹中。启动器位于程序文件下。
      • jar 文件需要在 APPDATA 文件夹中是否有特定原因?
      • 因为我需要自动更新。当它在程序文件中时,我需要管理员权限。
      • 更改为文件名并将 更改为 "%APPDATA%\Derby Pro\" 是否有效?
      猜你喜欢
      • 2013-09-27
      • 2018-12-17
      • 2022-12-05
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      相关资源
      最近更新 更多