【问题标题】:run java program through batch file通过批处理文件运行java程序
【发布时间】:2016-08-16 15:31:47
【问题描述】:

我想通过一个 .bat 文件运行我的 java 程序。我的 java 程序存在于 java 文件夹的 bin 子文件夹中。我的批处理文件存在于批处理文件夹中。

cd..
cd java
cd bin
javac screenshot.java
java screenshot
pause

以上是我的批处理文件中的脚本。程序正在编译,但在运行时我得到:

Error:Could not find or load main class screenshot.

谁能告诉我哪里出错了?我被卡住了。

【问题讨论】:

  • 截图类在默认包上?
  • 入口点在哪里?
  • 入口点=截图类有main方法吗?
  • 是的,它有一个主要方法
  • 运行程序时的类名区分大小写。验证您的班级名称是screenshot 还是Screenshot 或类似名称。另外,班级名称是screenshot吗?你知道,你可能有一个不同名字的文件,但是编译出来的类会有文件中声明的类的名字!

标签: java batch-file


【解决方案1】:

您需要在运行 Java 程序之前设置类路径。此外,将cd 命令合二为一是有意义的:

cd ..\java\bin
javac screenshot.java
set CLASSPATH=.
java screenshot
pause

【讨论】:

  • 您的 Java 程序是否在一个包中?换句话说,screenshot.java 顶部有 package declaration 吗?
【解决方案2】:

正如inquizitive 指出的那样,我的名字弄错了。 类名是 Screenshot,而不是 screenshot。给大家添麻烦了,非常抱歉,谢谢

【讨论】:

    【解决方案3】:

    我遇到了类似的问题。也许该解决方案将帮助某些人更快地编译他们的 java 程序。

    如果你能让批处理可重复使用会更容易。

    @echo off                                        
    title Java Compiler
    :start
    cd C:\[...]                                     
    set /p id="Enter Name without file extension:"  
    javac %id%.java
    set /p ic="Enter Name without file extension: "
    java %ic%
    set /p ib="Want to exit? (type in "exit", else nothing): "
    %ib%
    set /p ia="Want to Clear the Window? (type in "cls", else nothing): "
    %ia%
    goto start
    

    第 3 行将您的项目文件夹放入其中,例如“C:\Users\User\Desktop\Projects”

    第 4 行是一个新变量,要求您提供源文件。 (对于源文件“example.java”,请在“example”中输入)

    第 5 行编译源文件。

    第 6 行是另一个变量,询问编译后的文件。 (对于文件“example.class”,请输入“example”)

    第 7 行运行您编译的 java 程序。

    【讨论】:

      【解决方案4】:

      可以通过两种方式完成:

      一) 设置JAVA_PATH在环境变量中。(右键->我的电脑->高级) 请在 .bat 文件中添加以下内容:
      java截图 暂停

      b) 在 .bat 文件中执行以下条目: a) 设置 PATH="%PATH%;%YOUR JAVA PATH TILL BIN% b) java 截图

      以上两种方法应该可以。 如果您正在设置环境变量,请确保打开一个新窗口。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-31
        • 1970-01-01
        • 2017-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多