java - launch4j 编译的 java 应用程序可执行文件被防病毒软件阻止

标签 java exe executable-jar launch4j

我正在尝试为我的 Java 应用程序创建一个安装程序。我在网上搜索并找到了有关 Launch4jInno Setup 的信息。

用Launch4j编译exe后,好像不行。我正在使用 Windows 并且 .exe 并没有真正执行,它也没有在任务管理器中列出。经过一些摆弄和尝试,发现它是 Avast。关闭 Avast shields 后,它就像被迷住了一样工作。

我发现可执行文件本身是被阻止的,而不是 launch4j,而编译结果是一些超出我理解的复杂 .exe。 (通过尝试在 avast 打开和关闭时进行编译,并且两个 .exe 仅在 avast 关闭时运行)

请问大家遇到过这种情况吗?如果它也会被其他防病毒软件阻止怎么办?是否有任何可能的解释和/或解决方案?从哪里开始调查?

Afaik,我的代码并没有真正进行可疑操作。我尝试了一些简单的 gui 应用程序,它只在框架内显示一个标签,但仍然发生了同样的事情。

最佳答案

事实证明,这才是真正的原因:

launch4j while compiling resulting to some convoluted .exe beyond my understanding.

launch4j 的最新版本在编译 exe 时,其 header 存在问题,被 VirusTotal 和其他一些防病毒软件标记。

在阅读 launch4j 官方网站上的讨论板时,我偶然发现了 Balthasar Gregovic's comments说当时的 3.7 有问题,但 3.5 版本没有。我下载了上述版本,效果非常好。我认为现在使用 launch4j 版本 3.5 是明智的。我会尝试在上述讨论区发表评论,并告知他们 3.8 也有同样的问题。

关于java - launch4j 编译的 java 应用程序可执行文件被防病毒软件阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34592100/

相关文章:

java - 如何使用Factual API Android驱动程序?

c++ - 即使在构建后 Eclipse 也不会生成 exe 文件

java - GCJ (jc1.exe) 问题

eclipse - manifest.mf 在 jar 导出期间被 Eclipse 覆盖

java - 包结构的 jar 执行错误

Java 再次 "Cannot find symbol"

java - 在Java中找不到符号时间

java - 将对象提供给消费者并返回对象

windows - 检查 .exe 文件的权限级别

java - ant 可运行 jar 不工作