我正在尝试使用JavaMail API发送电子邮件。 我从自解压二进制文件安装在我的主目录中的jdk 1.5。我在Ubintu 9.10
我使用下一个命令编译程序:
〜/ jdk1.5.0_22 / bin / javac -classpath~ / jdk1.5.0_22 / jre / lib / javamail-1.4.3 / mail.jar:〜/ jdk1.5.0_22 / jre / lib / jaf-1.1 .1 / activation.jar hw.java
编译好。如您所见,我已指定mail.jar和activation.jar的路径 现在我尝试使用下一个命令运行应用程序:
〜/ jdk1.5.0_22 / bin / java -classpath~ / jdk1.5.0_22 / jre / lib / jaf-1.1.1 / activation.jar:〜/ jdk1.5.0_22 / jre / lib / javamail-1.4 0.3 /的mail.jar:。 HelloWorldApp的
我得到一个异常java.lang.NoClassDefFoundError:javax / mail / Address
为什么在编译时会找到类而在运行时却无法找到它? 如何正确运行我的应用程序?
提前致谢
答案 0 :(得分:2)
该课程应来自您的mail.jar
。我不确定你的类路径是否正确解析。代字号(〜)是一个shell函数,在发送到Java进程之前需要扩展。您是否尝试删除〜并替换为/home/{whatever}
?我怀疑这是问题所在。