java - 即使 jar 工作正常,Launch4j 也无法找到主类
问题描述
我使用eclipse和JavaFX制作了一个程序并导出了jar可执行文件。然后我尝试使用 vm 参数运行 jar,它工作正常,但是当我尝试使用 Launch4j 制作可执行程序时,它说它找不到主类。我怀疑这是因为我的主类不在默认包中,而是在一个名为“应用程序”的包中,但我不知道如何解决这个问题。启动创建的 .exe 时显示的错误:
Executing: C:\Users\<user>\Desktop\CalculateFX.exe
Error: Could not find or load main class CalculatorFX.jar
Caused by: java.lang.ClassNotFoundException: CalculatorFX.jar
Launch4j 配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>C:\Users\<user>\Desktop\CalculatorFX.jar</jar>
<outfile>C:\Users\<user>\Desktop\CalculateFX.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></icon>
<jre>
<path>C:\Program Files\Java\jdk-15.0.2</path>
<bundledJre64Bit>false</bundledJre64Bit>
<bundledJreAsFallback>false</bundledJreAsFallback>
<minVersion>1.7</minVersion>
<maxVersion>1.9</maxVersion>
<jdkPreference>preferJre</jdkPreference>
<runtimeBits>64/32</runtimeBits>
<opt>--module-path "C:\Users\<user>\Downloads\javafx-sdk-16\lib" --add-modules javafx.controls,javafx.fxml CalculatorFX.jar</opt>
</jre>
</launch4jConfig>
解决方案
推荐阅读
- jquery - 如何在flot插件的空日期中将数据呈现为零
- pact - Pact::JsonDiffer 与 pact-messages gem 的行为不符
- matlab - 根据另一列的值获取列的所有首次出现 - matlab
- c# - Atata - 如何将密钥发送到页面
- google-cloud-firestore - Firestore 使用 Angular Dart 查询集合
- python - python版本之间的`str(b"")`返回值不一致
- codenameone - 代号一 - ComponentGroup + Accordions + Toggle Buttons 的滚动
- crystal-reports - 创建一个公式将 1 个带日期的 varchar 字段和 1 个带时间的 varchar 字段转换为 1 个日期时间字段
- php - PHP:从 DOM 生成适当的 XML 的 HTML
- c++ - const 引用返回类型的 C++ decltype(auto)