【问题标题】:Java code in vscode console not running correctly when packaged as .jar打包为 .jar 时,vscode 控制台中的 Java 代码无法正常运行
【发布时间】:2021-02-02 16:41:57
【问题描述】:

我正在尝试用 java 编写一个简单的代码,运行时将启动 google 网站。下面是我的代码。

import java.awt.Desktop;
import java.net.URI;
class DoTheFunny{
    public static void main(String args[]) throws Exception{
        Desktop d=Desktop.getDesktop();
        d.browse(new URI("https://www.google.com"));
        }
    }

此代码在 vscode 中运行时有效。但是,当打包为 .jar 文件并运行时,什么也没有发生。我曾尝试转换为 .exe,但再次没有任何反应。此外,在提取 .jar 文件时,我得到了正确的包装信息。我使用JAR Builder 扩展来打包我的代码。有人知道出了什么问题吗?

【问题讨论】:

  • 从 PowerShell/控制台运行它时会发生什么?我怀疑抛出了一个你看不到的异常,或者在 jar 中设置不正确,如果从控制台运行它应该很明显。

标签: java visual-studio-code


【解决方案1】:

1.编译.java文件,生成.class文件:

javac DoTheFunny.java

2.创建.jar:

jar cvfe DoTheFunny.jar DoTheFunny .\

3.通过命令运行.jar或在文件夹中双击:

java -jar DoTheFunny.jar

【讨论】:

  • 这个终于成功了!谢谢!我一定是编译错了。
  • 一开始我是用Jar Builder来建jar的,但是不行,所以我选择通过命令来做,很高兴我的回答能帮到你:)
【解决方案2】:

基本上,我会说我不认为这是不正常的。

即使我使用命令提示符和 powershell,它也会做同样的事情,除非我

使用 launch4j 打包 或者在命令行上运行。

要使用命令行运行您的jar文件,请使用java -jar方式,如果它抱怨缺少某个主条目,那么我认为您应该使用cfe选项重新制作您的jar文件。

希望我能帮上忙。

【讨论】:

    【解决方案3】:

    我认为 vscode 有点宽容,如果你从命令行运行你的 jar 使用:java -jar DoTheFunny.jar 你可能会看到某种与无法访问类成员相关的异常错误...

    您应该将您的类声明为公共的,以便 java 在 JVM 中运行它时“知道”在哪里找到它。

    将你的类设置为公开后,使用插件导出 jar 并重试,你可能会看到更好的结果。

    让我知道你的效果如何。

    【讨论】:

      猜你喜欢
      • 2021-10-12
      • 1970-01-01
      • 2021-11-07
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多