对于特定的电子邮件发送功能,我有一个HelloWorld.java
类,在javax.mail.jar
和javax.activation.jar
内部调用对象,如下所示:
//SENDEMAIL JAVA CLASS
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeBodyPart;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
public class HelloWorld{
public HelloWorld(){
setVersion(0);
}
public static void main(String[] args){
System.out.println("Hello World!");
}
public void setVersion(int aVersion){
version = aVersion;
}
public int getVersion(){
return version;
}
private int version;
}
虽然在Eclipse中编译和导出jar
文件的过程很好,但是我现在使用以下命令通过命令行对其进行编译:
>javac -target 1.7 -source 1.7 -bootclasspath "C:\Program Files\MATLAB\R2018a\sys\java\jre\win64\jre\lib\rt.jar" -cp "javax.activation.jar;javax.mail.jar" HelloWorld.java
>jar cfe "HelloWorld.jar" HelloWorld "HelloWorld.class"
在没有import
和-cp
句子的情况下,这些命令行编译对于其他几个类也工作正常,但是当我尝试导入这些新的javax.mail.jar
和javax.activation.jar
时,我无法设置正确的-cp
命令以及最终这些软件包的相对位置,以使编译工作保留所有其余结构。
我应该如何修复命令?