有 Java 编程相关的问题?

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

第一个hello world java程序可以在Eclipse中工作,但不能在命令提示符下工作

我知道这个问题以前已经被回答过了,但是作为一个试图开始学习Java的新手,我非常感谢你能给我一个具体的答案

在Eclipse中,当我使用以下代码按run时,它工作正常

public class MySweetProgram {

    public static void main(String[] args) {
        System.out.println("Hello there!");

    }


}

但是,当我转到C:\ProgramFiles(x86)\Java\jre1时。8.0_241\bin在命令提示符下键入java MySweetProgram时,我收到一个错误,提示无法加载或查找主类MySweetProgram

我搜索了其他建议设置类路径的线程。我的设置为C:\ProgramFiles(x86)\Java\jre1。8.0_241\lib。 我将Classpath中的文件夹从lib更改为bin,但得到了相同的错误,所以我再次将其更改回原来的位置

我做了一个java版本,得到如下结果:

java版本“1.8.0_241” Java(TM)SE运行时环境(build 1.8.0_241-b07) Java热点(TM)客户端虚拟机(构建25.241-b07,混合模式)

有人能就他们认为可能存在的问题向我提供建议吗? 如果这是一个无知的问题,我道歉 谢谢 吉米


共 (2) 个答案

  1. # 1 楼答案

    编译.java文件时,您可以决定将可执行文件放在哪里。该文件将被称为MySweetProgram.class。Eclipse可能将这两个文件保存在不同的目录中

    通常(在Java11之前)只能运行.class文件。因此,您必须为java添加类路径(-cp)参数才能找到您的文件:

    java -cp path MySweetProgram   (don't put the .class)
    

    现在(在Java11之后)您可以直接运行java文件,因为当您给它一个.java文件时,它会在执行之前为您编译它:

    java MySweetProgram.java       (if you're in the directory)
    java path\MySweetProgram.java
    

    如果你有MySweetProgram。类,这将给出一个错误

    当您使用包时,它会变得稍微复杂一些,但是Oracle有一些非常好的Offical Java Tutorials

  2. # 2 楼答案

    欢迎光临!Eclipse将为您编译代码,然后运行它。当您单击run时,它会为您完成所有这些,从而使您作为开发人员的生活稍微轻松一些。如果您想从命令行编译并运行该命令,则需要确保您可以访问jdk(它必须由Eclipse安装在某个地方,但可能不会立即显示在某个文件夹中,该文件夹可能名为/something/jdk/)。在path上(在%path%变量中),以下内容适用于您:

    cd /to/where/your/code/is
    javac MySweetProgram.java
    java -cp . MySweetProgram
    

    查看编译及其含义,以便更好地了解Eclipse正在做什么。祝你好运