【问题标题】:How to run JAVA program through bat file如何通过bat文件运行JAVA程序
【发布时间】:2013-10-02 04:28:28
【问题描述】:

我已经访问过 Thread:How to run java application by .bat file 但没有帮助我。

我写了一个java程序,它使用了两个外部jar库 我能够编译我的类。所以我编写了 bat 文件以执行我的 java 类 但我得到 Class not found 异常。 我的班级名称是 Reminder.java 我的bat文件是

@ECHO ON
set CLASSPATH=.
set CLASSPATH=C:\iWaveSoftware\ITSM adapters-2.5_inst1\lib\depends\derby-10.5.3.0_1.jar,C:\iWaveSoftware\ITSM 

adapters-2.5_inst1\lib\depends\derbyclient-10.5.3.0_1.jar
JAVA -Xms100M -Xmx500M Reminder`

如果我运行我的 windows bat 文件,我会收到以下错误

Exception in thread "main" java.lang.NoClassDefFoundError: Reminder
Caused by: java.lang.ClassNotFoundException: Reminder
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Reminder.  Program will exit.

在此先感谢........请帮助我。

【问题讨论】:

  • 每次设置时都会覆盖类路径。你想附加到它。试试:设置 CLASSPATH=%CLASSPATH%,.
  • 你应该使用完整的类名。例如:net.package.project.Reminder
  • 它是独立的 java 程序。我的 java 文件位于 D:/project 和相同的位置,我有 bat 文件
  • 能否请您提供有关 jar 路径设置和调用 java 程序的示例

标签: java batch-file


【解决方案1】:

1) 类路径中有空格。有时这会导致错误。将类路径放在引号中。 ""

2) 使用 java -cp %CLASSPATH% ... 提醒或(如果有包使用 package.subpackage.Reminder 例如 java.util.List)

【讨论】:

  • 现在我写了我的 bat 文件,如下所示:@ECHO ON set CLASSPATH=.设置 CLASSPATH=%CLASSPATH%,C:\iWaveSoftware\ITSM adapters-2.5_inst1\lib\depends\derby-10.5.3.0_1.jar,C:\iWaveSoftware\ITSM adapters-2.5_inst1\lib\depends\derbyclient-10.5。 3.0_1.jar JAVA -Xms100M -Xmx500M 提醒
  • 1) 你替换了空格吗?并使用 -cp 启动 java? 2) 你有没有查看 Reminder 的包装是什么?
猜你喜欢
  • 1970-01-01
  • 2015-09-23
  • 2020-08-03
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
  • 2011-01-25
  • 1970-01-01
  • 2012-04-21
相关资源
最近更新 更多