当前位置: 首页 > 面试题库 >

如何从命令行在Windows上运行.class文件?

尉迟俊能
2023-03-14
问题内容

我正在尝试从命令行运行.class文件。当我手动移动到存储目录时,它会起作用,但是当我尝试这样的操作时:

java C:\Peter\Michael\Lazarus\Main

它说找不到主班。除了制作.jar文件(我知道.jar是最好的解决方案,但现在不是我正在寻找的解决方案)之外,还有其他解决方案吗?


问题答案:

在Java应用程序启动(又名java.exe或干脆java)预计最多支持四个不同的方式来指定要启动(取决于Java版本使用)的东西。

  1. 指定 类名 是最基本的方法。注意, 类名 不同于 文件名
     java -cp path/to/classFiles/ mypackage.Main
    

在这里,我们启动类mypackage.Main,并使用-cp开关来指定它是用来查找类的类路径(该类别的完整路径mypackage.Mainpath/to/classFiles/mypackage/Main.class

  1. 启动一个jar文件。
    java -jar myJar.jar
    

这会将jar本身及其在Class-Path条目上指定的所有内容放在类路径上,并启动通过Main-Class条目指示的类。请注意,在这种情况下,您
不能 指定任何其他类路径条目(它们将被静默忽略)。

  1. Java 9引入了模块,并由此引入了一种以与选项#2相似的方式启动特定模块的方式(通过启动该模块专用的主类或通过在该模块内启动用户指定的类):

    java --module my.module
    
  2. Java 11引入了对单文件源代码程序的支持,这使得执行适合单个源文件的Java程序非常容易。它甚至为您完成了编译步骤:

    java MyMain.java
    

该选项对于第一次尝试Java很有用,但很快会达到其极限,因为它不允许您访问另一个源文件中定义的类(除非您单独编译它们并将它们放在类路径中,否则将失败)这种方法的易用性,这意味着您可能应该在这种情况下切换回选项1。

此功能被开发为JEP 330,有时仍被称为JEP
330

对于您的特定情况,您可以使用选项#1并java通过使用-classpath选项(或其缩写-cp)告诉在哪里寻找该类:

java -classpath C:\Peter\Michael\Lazarus\ Main

如果Main.java包含整个源代码(并且它在同一目录中),则可以使用选项#4,跳过编译步骤并直接编译并执行它:

java c:\Peter\Michael\Lazarus\Main.java


 类似资料:
  • 问题内容: 我正在尝试从Windows中的命令行执行Java程序。这是我的代码: 我不确定如何执行程序-有帮助吗?在Windows上可以吗?为什么它不同于另一个环境(我以为JVM只写一次,可以在任何地方运行)? 问题答案: 假设你的文件位于 运行命令提示符 这使C:\ mywork成为当前目录。 这将显示目录内容。你应该在文件中看到。 这告诉系统在哪里可以找到JDK程序。 这将运行编译器。除了下一

  • 我正试图在Windows中从命令行执行一个Java程序。下面是我的代码: 我不确定如何执行程序-有什么帮助吗?这在Windows上可能吗?为什么它和另一个环境不同(我以为JVM是编写一次,运行任何地方)?

  • 在linux中,您可以使用命令

  • 问题内容: npm 已安装并正在IntelliJ IDEA 15中被积极使用 我的目标是在IntelliJ中为我的TypeScript源代码生成类型,但是我想学习使用Windows命令行,因此我可以显式指定命令行选项,以了解每个选项的作用。我对Googling所发现的与设置和使用它有关的各种花絮感到困惑…我敢肯定,我缺少一些非常基本的知识,那些博客或回答问题的人都认为这是常识。 。 这是我尝试过的

  • 问题内容: 我很难找到答案。使用普通的Node.JS,您可以使用,CoffeeScript 和ES6具有的任何js文件。我如何使用Typescript进行操作? 我的项目有一个供Webpack / ts- loader使用的工具,用于为浏览器构建一个不错的小捆绑包。不过,在此之前,我需要从控制台运行一个构建步骤,该步骤将使用项目中使用的某些文件来生成模式,但是如果不进行编译,我似乎无法运行单个Ty

  • 我目前正在尝试学习如何使用PhoneGap为android手机开发应用程序。我得到了这本名为《PhoneGap 2x移动应用程序开发》的书。这本书真的很好,不言自明,但我的问题是,当作者想通过命令行创建d项目时,他使用的是Unix命令,因为他运行的是Unix PC。我运行的是Windows,使用CMD来遵循他的命令对我来说有点难,因为我不理解他的所有命令。 他写道: 有人能告诉我如何在window