Mavenでプロジェクトを開発しています。電子メールを送信するクラスで、実行モードと開発モードで、次のエラーが発生します。ディレクトリが見つかりません。
「./jQuery/images/logo.png」、「/jQuery/images/logo.png」など、多くのパスを試しました。完全な相対パスは「src/main/webapp/jQuery/images/logo.png」です。
「対象」フォルダのパスは「project-1.0-SNAPSHOT/jQuery/images/logo.png」です。warファイルの中は、「jQuery/images/logo.png」です。
重要ではないと思いますが、NetBeans 7.1.1 を IDE として使用しています。
実行時に返される絶対パスが「/home/user/apache-tomcat-7.0.22/bin/jQuery/images/logo.png」であることがわかりました!...プロジェクト パスではありません!
Mavenプロジェクトで、Javaクラスからwebappフォルダと子孫にファイルを取得するにはどうすればよいですか?
コードは次のとおりです。
MimeBodyPart attachmentPart = null;
FileDataSource fileDataSource = null;
for (File a : attachments) {
System.out.println(a.getAbsolutePath());
attachmentPart = new MimeBodyPart();
fileDataSource = new FileDataSource(a) {
@Override
public String getContentType() {
return "application/octet-stream";
}
};
attachmentPart.setDataHandler(new DataHandler(fileDataSource));
attachmentPart.setFileName(fileDataSource.getName());
multipart.addBodyPart(attachmentPart);
}
msg.setContent(multipart);
msg.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, from, "password");
transport.sendMessage(msg, msg.getAllRecipients());