有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaJAR不是双击启动的,而是从命令行启动的

我使用IntelliJ创建JAR文件,当从命令行运行时,它会正常执行,但双击它时,什么也不会发生。我从eclipse导出的JAR工作正常,因为我是一个使用IntelliJ的初学者,我猜我做错了什么

我以这种方式导出JAR:

Project structure -> jar -> from modules and dependencies then use this 
    configuration to build.

共 (4) 个答案

  1. # 1 楼答案

    如果您的JAR从命令行使用jar -jar <file>启动,那么它就可以像JAR文件一样执行(换句话说,元数据指定了主类的位置)。如果需要,可以使用操作系统提供的工具在双击鼠标时指定。jar文件,它应该执行java -jar <file>,但这超出了jar文件的范围。例如,如果您运行的是Windows,那么您应该能够通过遵循here中概述的过程来实现这一点。同样,这是特定于操作系统的,甚至可能是特定于您正在运行的版本,本质上只是双击事件以执行java -jar命令的花式包装

  2. # 2 楼答案

    不知道为什么每个人都对自动执行的罐子装聋作哑。 只需添加一个清单。MF文件,并将完全限定的主类指定为主类:my。包裹我的班级

    此外,请确保您的可执行文件类型为。jar文件类型是Java

    一旦你这样做了,你可以双击jar来执行它

  3. # 3 楼答案

    确保为jar设置了x标志

    java -jar xyz.jar
    

    不需要,但双击需要:

    ls -l xyz.jar
    chmod 755 xyz.jar
    
  4. # 4 楼答案

    Intellij不会为您执行JAR。记住JAR是一个容器,就像你要求执行一个ZIP文件一样

    我确信您想要的是在jar文件中执行一个类。这将是一个具有以下特性的类:

    public static void main(String[] args) { ... }
    

    你有两个选择:

    1)从命令行执行jar

    2)右键点击我在上面写的“主”字,然后按RUN。。你会看到一个绿色的小箭头(播放按钮)。这是在Intellij中运行类的唯一方法

    希望有帮助