我在不使用任何IDE的情况下使用java1.6。现在我想将java Mail API用于我的目的。所以,我将Mail.jar复制到d:\externaljar
文件夹中。
我也设置了classpath as set classpath=%classpath%;d:\externaljar;
我的jdk安装文件夹是:c:\programfiles\jdk1.6
。
但我面对package javax.mail does not exist during compilation.
请指导我解决这个问题?
答案 0 :(得分:3)
jar文件本身必须位于类路径中,而不仅仅是包含它的目录。
CLASSPATH环境变量是CLASSPATH
,而不是classpath
。不过,我的建议是永远不要使用它。始终使用javac或java的-classpath
(或-cp
)选项传递类路径。
答案 1 :(得分:3)
我更喜欢全局-cp
环境变量的CLASSPATH
选项:
java -cp .;d:/externaljar/mail.jar my.application.App
答案 2 :(得分:3)
我建议不要设置CLASSPATH
,而是使用-cp
标记:
javac -cp .;d:\externaljar\mail.jar whatever/package/YourClass.java
您也可以使用通配符:
javac -cp .;d:\externaljar\* whatever/package/YourClass.java
运行是一回事,除了你提供带有main
方法的类名。
java -cp .;d:\externaljar\* whatever.package.YourClass