[英]How to compile a java file which uses another java class that requires jar files?
I have written a java file(called SendEmail.java) which uses javax.mail.jar and javax.activator.jar for compilation and running. 我编写了一个Java文件(称为SendEmail.java),该文件使用javax.mail.jar和javax.activator.jar进行编译和运行。
Now I have written another java file(called Check.java) which imports SendEmail. 现在,我编写了另一个导入SendEmail的Java文件(称为Check.java)。
The problem I am facing here is while I am compiling Check.java. 我在这里面临的问题是在编译Check.java时。 I compile it using the same classpath as I used while compiling SendEmail.java.
我使用与编译SendEmail.java时相同的类路径对其进行编译。 The files are in a package called pack.
这些文件位于称为pack的软件包中。
Command I use to compile SendEmail.java - 我用来编译SendEmail.java的命令-
C:\Users\Myname\code\javafiles>javac -cp ".;.\pack\javax.activation.jar;.\pack\ja
vax.mail.jar;" pack\SendEmail.java
Command I use to compile Check.java - 我用来编译Check.java的命令-
C:\Users\Myname\code\javafiles>javac -cp ".;.\pack\javax.activation.jar;.\pack\ja
vax.mail.jar;" pack\Check.java
The error I am getting is- 我得到的错误是-
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.
I think you want: 我想你要:
javac -cp ".;.\pack\javax.activation.jar;.\pack\javax.mail.jar;" pack\Check.java
And yes, you should really move the jar files out of the directory containing your source and class files. 是的,您确实应该将jar文件移出包含源文件和类文件的目录。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.