我编写了一个java文件(名为SendEmail.java),它使用javax.mail.jar和javax.activator.jar进行编译和运行。
现在我编写了另一个导入SendEmail的java文件(名为Check.java)
我在这里遇到的问题是在编译Check.java时。我使用与编译SendEmail.java时使用的相同的类路径编译它。这些文件位于名为pack的包中。
我用来编译SendEmail.java的命令 -
C:\Users\Myname\code\javafiles>javac -cp ".;.\pack\javax.activation.jar;.\pack\ja
vax.mail.jar;" pack\SendEmail.java
我用来编译Check.java的命令 -
C:\Users\Myname\code\javafiles>javac -cp ".;.\pack\javax.activation.jar;.\pack\ja
vax.mail.jar;" pack\Check.java
我得到的错误是 -
C:\Users\Myname\code\javafiles>javac -cp ".;.\pack\javax.activation.jar;.\pack
\javax.mail.jar;" pack\Check.java
pack\Check.java:3: error: cannot access SendEmail
import pack.SendEmail.*;
^
bad class file: .\pack\SendEmail.class
class file contains wrong class: SendEmail
Please remove or make sure it appears in the correct subdirectory of the cla
sspath.
答案 0 :(得分:1)
我想你想要:
javac -cp ".;.\pack\javax.activation.jar;.\pack\javax.mail.jar;" pack\Check.java
是的,您应该将jar文件移出包含源文件和类文件的目录。