有没有办法拒绝 jar 启动但只允许启动器(.exe)启动它?

Is there a way to deny jar startup but only allow a launcher(.exe) to start it?

我有一个小的 swing gui Java 应用程序并使用 launch4j 创建了一个启动器 (.exe)。

因为我不想将 jar 包含在启动器中,所以我选中了该选项 “不要包装罐子,只启动”。

因此小exe将执行我的jar。 但是我 不希望用户通过命令提示符或其他方式执行我的 jar

有没有办法拒绝启动我的 jar?

问候 Nur1

让启动器发送一个特殊的命令行参数,该参数将由启动 JAR 文件的 main() 方法读取。从启动 JAR 文件 main() 方法中检查此启动参数,如果此参数无效或根本不存在....问题 a:System.exit(0); 或其他。

Launch4j 具有 <cmdLine> Optional, constant command line arguments.,可让您将一些参数传递给 main 应用方法 运行。所以你可以通过 Launch4j 将一些参数传递给 jar 文件并检查该参数并防止通过命令行 运行ning.