Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java类已编译,但无法加载_Java_Import - Fatal编程技术网

Java类已编译,但无法加载

Java类已编译,但无法加载,java,import,Java,Import,我编译了一个类并显示了该文件,但我不能用java运行它,也不能从其他类使用它,在这些类中,java或javac的行为就像它不存在一样 它汇编了 john@fekete:~/devel/java/mysqlexample$ javac first/mysql/MySQLAccess.java Note: first/mysql/MySQLAccess.java uses or overrides a deprecated API. Note: Recompile with -Xlint:depr

我编译了一个类并显示了该文件,但我不能用java运行它,也不能从其他类使用它,在这些类中,java或javac的行为就像它不存在一样

它汇编了

john@fekete:~/devel/java/mysqlexample$ javac first/mysql/MySQLAccess.java 
Note: first/mysql/MySQLAccess.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
它似乎不存在于java

john@fekete:~/devel/java/mysqlexample$ java first/mysql/MySQLAccess.class
Error: Could not find or load main class first.mysql.MySQLAccess.class
john@fekete:~/devel/java/mysqlexample$ java first/mysql/MySQLAccess
Error: Could not find or load main class first.mysql.MySQLAccess
我不能从其他课程中使用它

first/mysql/test/Main.java:3: error: cannot find symbol
import first.mysql.MySQLAccess;
                   ^
  symbol:   class MySQLAccess
  location: package first.mysql
文件的结构是这样的,我从该结构的根进行编译

john@fekete:~/devel/java/mysqlexample$ ls -l first/mysql/
total 12
-rwxr-xr-x 1 john john 3625 May  2 07:59 MySQLAccess.class
-rw-r--r-- 1 john john 3052 May  2 07:59 MySQLAccess.java
drwxr-xr-x 2 john john 4096 May  2 08:02 test
john@fekete:~/devel/java/mysqlexample$ ls -l first/mysql/test/
total 4
-rw-r--r-- 1 john john 205 May  2 08:02 Main.java
首先导入.mysql.*不起作用

也许我需要改变我的类路径

john@fekete:~/devel/java/mysqlexample$ echo $CLASSPATH 
/usr/local/mysql-connector-java/mysql-connector-java-5.1.24-bin.jar

java
命令调用不运行源代码的JVM。所以

java first/mysql/MySQLAccess.java
不会像写的那样起作用。相反,您需要调用资源名称,这将是

java first.mysql.MySQLAccess
除了上面的命令行可能不起作用之外,因为您可能还没有配置JVM在当前目录中搜索类层次结构树。你可能想要像这样的东西

java -classpath . first.mysql.MySQLAccess
加载到类中的
第一个/mysql/MySQLAccess.class
;但是,这还不是全部。CLASSPATH环境变量也起作用,它将如何加载
mysql-connector-java-5.1.24-bin.jar
。然而,如果您遇到问题,我建议您将其包含明确,如下所示

java -classpath .:/usr/local/mysql-connector-java/mysql-connector-java-5.1.24-bin.jar first.mysql.MySQLAccess

java
命令调用不运行源代码的JVM。所以

java first/mysql/MySQLAccess.java
不会像写的那样起作用。相反,您需要调用资源名称,这将是

java first.mysql.MySQLAccess
除了上面的命令行可能不起作用之外,因为您可能还没有配置JVM在当前目录中搜索类层次结构树。你可能想要像这样的东西

java -classpath . first.mysql.MySQLAccess
加载到类中的
第一个/mysql/MySQLAccess.class
;但是,这还不是全部。CLASSPATH环境变量也起作用,它将如何加载
mysql-connector-java-5.1.24-bin.jar
。然而,如果您遇到问题,我建议您将其包含明确,如下所示

java -classpath .:/usr/local/mysql-connector-java/mysql-connector-java-5.1.24-bin.jar first.mysql.MySQLAccess

尝试运行java类时,请删除
.java


另外,确保您的类有一个main方法,并且它首先在包
中.mysql
,这可能是其他类看不到它的原因。

在尝试运行java类时删除
.java


另外,确保你的类有一个main方法,并且它首先在包
中。mysql
,这可能是其他类看不到它的原因。

我添加了一个main方法,但仍然没有人能看到它。我添加了一个main方法,仍然没有人能看到它。啊,我必须有。在我的课堂上。多谢了,这真的让我很烦恼,但至少我从这次经历中学到了一些东西。啊,我必须要有。在我的课堂上。谢谢,这真的让我很烦恼,但至少我从这次经历中学到了一些东西。