通过命令提示符运行我的java文件时出错

时间:2012-01-06 04:06:15

标签: java mysql

我有一些包含在com.das.dbmodule包中的java文件。当我使用netbeans或eclipse运行这些java文件时,它们运行良好。但是当我尝试使用命令提示符运行它时,我得到一些错误。我尝试使用默认包但同样的问题。我已将所有java文件放在jdk bin文件夹中。我正在使用mysql数据库和mysql连接器jar文件。 我得到像

这样的错误
C:\Program Files\Java\jdk1.6.0\bin>cd..

C:\Program Files\Java\jdk1.6.0>cd..

C:\Program Files\Java>cd program files
The system cannot find the path specified.

C:\Program Files\Java>cd java
The system cannot find the path specified.

C:\Program Files\Java>cd jdk1.6.0

C:\Program Files\Java\jdk1.6.0>cd bin

C:\Program Files\Java\jdk1.6.0\bin>javac fileoperation.java
fileoperation.java:47: cannot find symbol
symbol  : class Dbconnection
location: class fileoperation
        Dbconnection dbconnection   = new Dbconnection();
        ^
fileoperation.java:47: cannot find symbol
symbol  : class Dbconnection
location: class fileoperation
        Dbconnection dbconnection   = new Dbconnection();
                                          ^
fileoperation.java:48: cannot find symbol
symbol  : class Filefinder1
location: class fileoperation
        Filefinder1  f              = new Filefinder1();    // call constructor
        ^
fileoperation.java:48: cannot find symbol
symbol  : class Filefinder1
location: class fileoperation
        Filefinder1  f              = new Filefinder1();    // call constructor
                                          ^
4 errors

C:\Program Files\Java\jdk1.6.0\bin>java fileoperation
Exception in thread "main" java.lang.NoClassDefFoundError: fileoperation

C:\Program Files\Java\jdk1.6.0\bin>Pause
Press any key to continue . . .

基本上我正在尝试创建一个批处理文件,每隔5分钟就会更新一次我的服务器。我是一名开发网络应用程序的学生。请指导我。我后天有我的项目演示。

4 个答案:

答案 0 :(得分:2)

您需要阅读javajavac命令的手册条目和/或有关如何编译和运行Java程序的教程。编译错误很可能是因为编译时没有在类路径上安装MySQL Connector JAR文件。使用“-cp”选项,如手册条目中所述。

无需“cd”到Java安装目录。只需确保

"C:\Program Files\Java\jdk1.6.0\bin"

是批处理文件的%PATH%环境的一个组件,然后您只需将命令作为javajavac运行。


我也很困惑为什么一个脚本“每5分钟后更新一次我的服务器”应该编译Java代码。

答案 1 :(得分:1)

看起来你有两个问题:

  1. 您需要设置JAVA_HOME环境变量并在脚本中使用它:http://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows

  2. 看起来你不了解类路径在Java中是如何工作的。您需要告诉Java编译器所有类在编译时都可以解析任何依赖项和/或引用。

  3. http://docs.oracle.com/javase/1.3/docs/tooldocs/win32/javac.html

    您可以做的最好的事情是使用像Ant这样的构建工具来生成源代码的可执行jar,并从批处理脚本中调用它。

答案 2 :(得分:0)

似乎某些批处理文件正在搞砸,特别是

C:\Program Files\Java>cd program files

那很可能是

C:\Program Files\Java>cd "program files"

其中"引号强制Windows cmd.exe shell将整个引用的短语视为单个目录。如果没有引号,它会尝试cd进入名为program的目录,其中包含名为files的未知第二个参数。使用引号,它正在寻找名为program files

的目录

答案 3 :(得分:0)

您需要使用Path值设置环境C:\Program Files\Java\jdk1.6.0\bin变量。设置Path后,您可以从任何文件夹中编译并启动java程序。错误消息描述在编译期间未解析/找到某些类。使用classpath切换javac.exejava.exe来指定这些类的位置。