gpt4 book ai didi

java - 使用 JWrapper 时出现异常

转载 作者:行者123 更新时间:2023-11-30 11:35:01 26 4
gpt4 key购买 nike

我正在尝试使用 jWrapper 从 jar 文件构建一个 exe。为什么在尝试使用 JWrapper 生成 exe 时出现如下所示的错误?请帮忙

C:\Documents and Settings\Administrator>java  -jar G:\IMS\jwrapper-00018512673.j
ar G:\IMS\app.xml
JWrapper 00018512673
JWrapperCompiler started
[Config] Building file is G:\IMS\app.xml
[Updates] Checking for updates...
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at SecureRunner2.<init>(SecureRunner2.java:464)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at SecureRunner1.<init>(SecureRunner1.java:422)
at SecureRunner1.<init>(SecureRunner1.java:227)
at SecureRunner1.main(SecureRunner1.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at jwrapper.launch.JWCompiler.main(JWCompiler.java:99)
Caused by: java.lang.NullPointerException
at jwrapper.JWrapperCompiler.main(JWrapperCompiler.java:458)
... 17 more
[Updates] Update check: 18512673 vs 18473665 (online)

我的 app.xml 文件

<JWrapper>

<!-- This tells JWrapper the name of your app bundle -->
<BundleName>MinimalApp</BundleName>

<!-- This bit defines a virtual app - your app bundle can have one of these or a bunch of them -->
<App>

<!-- The name of the app that launches -->
<Name>tx</Name>

<!-- The logo for the app, we automatically scale and convert it to OS specific formats -->


<!-- The Java main class for your app -->
<MainClass>ims.init.Selector</MainClass>

<!-- Any static parameters you want to pass in to your main method -->
<Param>one</Param>
<Param>two</Param>

</App>

<!-- This tells JWrapper what languages your app uses so JWrapper can let the user choose (if its more than one) -->
<SupportedLanguages>en,fr</SupportedLanguages>

<!-- If your app needs to run elevated (as admin) on Windows you can specify that here -->
<WindowsElevation>None</WindowsElevation>

<!-- This app installs itself for the current user, you can also install for all users or run as a temporary executable -->
<InstallType>CurrentUser</InstallType>

<!-- This is the optional update URL for the app, if the files here get updated the app will auto update-->
<UpdateURL>http://minimal.jwrapper.com/</UpdateURL>



<!-- Here's where you specify your Windows 32 bit JRE, note that you can use a 32 bit JRE on 64 bit Windows -->
<Windows32JRE>../windows/jre1.6.0_16</Windows32JRE>
<Windows64JRE>../windows/jre1.6.0_16</Windows64JRE>
<Linux32JRE>../linux/jre1.6.0_16</Linux32JRE>
<Linux64JRE>../linuxx64/jre1.6.0_16</Linux64JRE>

<!-- Here's where you can add JAR files or whatever else your app needs to run -->
<File classpath='yes'>lib/*.jar</File>
<File classpath='no' path='translations.properties'>resources/translation.properties</File>

</JWrapper>

最佳答案

遇到了同样的问题。在我的例子中,它来自未包含在 jwrapper.jar 中的 JRE。我下载了 Windows JRE6 from here (在某处读到 JRE7 不适合包含在内?)并将完整的 jre6 目录复制到我的 jwrapper 目录。同样适用于来自 here 的 Linux . Windows 仅 32 位,Linux 32 位和 64 位。

<!-- Here's where you specify your Windows 32 bit JRE, note that you can use a 32 bit JRE on 64 bit Windows -->
<Windows32JRE>jre6</Windows32JRE>
<Windows64JRE>jre6</Windows64JRE>
<Linux32JRE>jre1.7.0_17_32</Linux32JRE>
<Linux64JRE>jre1.7.0_17_64</Linux64JRE>

我现在的问题是当前工作目录与放置 .exe 的目录不同。也许我也可以找到解决方案。

关于java - 使用 JWrapper 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15335547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com