Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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:在Unix中找不到类_Java_Unix_Compilation - Fatal编程技术网

Java:在Unix中找不到类

Java:在Unix中找不到类,java,unix,compilation,Java,Unix,Compilation,我试图在Unix机器上运行Java文件。让我首先显示目录结构: /home/username |_ SimpleMail.java |_ mail.jar 我使用以下方法编译了java代码: # javac -classpath mail.jar SimpleMail.java 编译后,目录具有: /home/username |_ SimpleMail.java |_ mail.jar |_ SimpleMail.class 现在我尝试运行Si

我试图在Unix机器上运行Java文件。让我首先显示目录结构:

/home/username
  |_ SimpleMail.java
  |_ mail.jar
我使用以下方法编译了java代码:

# javac -classpath mail.jar SimpleMail.java
编译后,目录具有:

/home/username
      |_ SimpleMail.java
      |_ mail.jar
      |_ SimpleMail.class
现在我尝试运行SimpleEmail类文件。这是给类找不到的错误: 我尝试使用以下方法运行该类:

# java -classpath mail.jar SimpleMail
错误:

The java class is not found:  SimpleMail
这个过程有什么问题


谢谢:)

您还需要在类路径中包含当前目录,以便在那里获取类文件:

java -classpath mail.jar:. SimpleMail
如果
simpleemail
不在包中,那么这将起作用。否则,您应该使用
-d.
进行编译,并在运行
java
时包含包名:

javac -d . -classpath mail.jar SimpleMail.java

java -classpath mail.jar:. my.pkg.SimpleMail

就可以了

@Mohamed:你需要激活.jar。它应该在JavaMail发行版中或从中链接到。我也添加了它,但现在:java-classpath-mail.jar:activation.jar:。我的电子邮件等待了很长时间没有回复。现在的问题是什么?一个格式很好、表达很好的问题+1
# java -classpath mail.jar;. SimpleMail