我有一些包含在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分钟就会更新一次我的服务器。我是一名开发网络应用程序的学生。请指导我。我后天有我的项目演示。
答案 0 :(得分:2)
您需要阅读java
和javac
命令的手册条目和/或有关如何编译和运行Java程序的教程。编译错误很可能是因为编译时没有在类路径上安装MySQL Connector JAR文件。使用“-cp”选项,如手册条目中所述。
无需“cd”到Java安装目录。只需确保
"C:\Program Files\Java\jdk1.6.0\bin"
是批处理文件的%PATH%
环境的一个组件,然后您只需将命令作为java
和javac
运行。
我也很困惑为什么一个脚本“每5分钟后更新一次我的服务器”应该编译Java代码。
答案 1 :(得分:1)
看起来你有两个问题:
您需要设置JAVA_HOME环境变量并在脚本中使用它:http://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows
看起来你不了解类路径在Java中是如何工作的。您需要告诉Java编译器所有类在编译时都可以解析任何依赖项和/或引用。
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.exe
和java.exe
来指定这些类的位置。