Javax.mail.* Package n'existe pas - Pourquoi?

Im en utilisant une classe appelée e-mailer pour envoyer un e-mail à partir d'une application java,

Je suis à l'aide de netbeans 6.9.1 et je suis en utilisant J2SE, j'ai téléchargé l'api javamail et ajouté le pot aux classpath et aussi la mettre dans le src pour netbeans.

Netbeans est de lancer un message d'erreur disant Package javax.mail does not exist et je ne sais pas pourquoi? Comme j'ai l'impression d'avoir tout fait correct, voici le code

import java.util.*;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.mail.*;
import javax.mail.internet.*;
/**
* Simple demonstration of using the javax.mail API.
*
* Run from the command line. Please edit the implementation
* to use correct email addresses and host name.
*/
public final class Emailer {
public static void main( String... aArguments ){
Emailer emailer = new Emailer();
try {
emailer.sendEmail("[email protected]", "[email protected]", "Testing 1-2-3", "blah blah blah");
} catch (ClassNotFoundException ex) {
Logger.getLogger(Emailer.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void sendEmail(String aFromEmailAddr, String aToEmailAddr,
String aSubject, String aBody) throws ClassNotFoundException
{
Class.forName("javax.mail");
Session session = Session.getDefaultInstance( fMailServerConfig, null );
MimeMessage message = new MimeMessage( session );
try {
message.addRecipient(
Message.RecipientType.TO, new InternetAddress(aToEmailAddr)
);
message.setSubject( aSubject );
message.setText( aBody );
Transport.send( message );
}
catch (MessagingException ex){
System.err.println("Cannot send email. " + ex);
}
}
public static void refreshConfig() {
fMailServerConfig.clear();
fetchConfig();
}
private static Properties fMailServerConfig = new Properties();
static {
fetchConfig();
}
private static void fetchConfig() {
InputStream input = null;
try {
input = new FileInputStream( "C:\\Temp\\MyMailServer.txt" );
fMailServerConfig.load( input );
}
catch ( IOException ex ){
System.err.println("Cannot open and load mail server properties file.");
}
finally {
try {
if ( input != null ) input.close();
}
catch ( IOException ex ){
System.err.println( "Cannot close mail server properties file." );
}
}
}
}

Comment résoudre ce problème?

Cela ressemble à de la configuration du projet dans netbeans n'est toujours pas correctement configuré.
ajouter à votre chemin de génération?
Vous avez besoin de faire un clic droit sur le nom du projet dans l'onglet projet le allez à Propriétés-> Bibliothèques -> Appuyez sur Add Jar/Folder... Parcourir et sélectionnez votre jar...et cliquez sur OK...et de construire et re-run
ou, alternativement, vous pouvez allez dans les propriétés -> compiler et sélectionnez le "compiler sur save" option, qui va nettoyer et reconstruire automatiquement lorsque vous changez quoi que ce soit après quelques secondes.
Bien que cela ne répond pas directement à votre question, il est beaucoup plus facile si vous utilisez un système de construction comme Gradle ou Maven. Ces va automatiquement télécharger les dépendances dans votre classpath, et Netbeans comprend.

OriginalL'auteur Peter Fleming | 2011-04-11