2017-01-31 2 views
0

Ich habe ein Problem Breite diesen Code:Set Klassenpfad Ressource

final Map<String, File> attachments = new HashMap<>(); 
 
\t \t final Map<String, String> inlineResources = new HashMap<String, String>(); 
 
\t \t inlineResources.put("logo", "/res/img/IN_payoff.png"); 
 
\t \t for (File certificateFile : certificates) { 
 
\t \t \t attachments.put(certificateFile.getName(), certificateFile); 
 
\t \t } 
 
\t \t YadaEmailParam p = new YadaEmailParam(); 
 
\t \t 
 
\t \t p.inlineResources = inlineResources; 
 

 
\t \t yadaEmailService.sendHtmlEmail(p); 
 
\t }

Dieser Fehler:

org.springframework.mail.MailSendException: Failed messages: javax.mail.MessagingException: IOException while sending message; 
 
    nested exception is: 
 
\t java.io.FileNotFoundException: class path resource [res/img/IN_payoff.png] cannot be opened because it does not exist

Wie i-Klassenpfad einstellen kann?

Antwort

1

Wenn dies ein Maven-Projekt ist, müssen Ressourcen, die im Klassenpfad verfügbar sein müssen, in src/main/resources gehen.

+0

Nein, das ist kein Maven Projekt. Es ist ein Java-Projekt von GitLab. Diese HTML-Datei ist eine Vorlagen-E-Mail in src/main/resources, die img ist in src/res/img –

0

Im Falle eines Maven-Projekts, legen Sie Ihre Ressourcendateien in das Verzeichnis src/main/resources, da es am Klassenpfad endet und automatisch in die .jar-Datei aufgenommen wird. Dann wird Ihre Ressource durch den Pfad img/IN_payoff.png erreichbar sein.

Alternativ können Sie Ihr Verzeichnis Classpath mit pom.xml hinzufügen:

<build> 
    <resources> 
     <resource> 
      <directory>src/main/res</directory> 
     </resource> 
    </resources> 
</build> 
+0

Nein, das ist kein Maven-Projekt. Es ist ein Java-Projekt von GitLab. Diese HTML-Datei ist eine Vorlagen-E-Mail in src/main/resources, die img befindet sich in src/res/img –

Verwandte Themen