# Statische Methode aus Bibliotheksklasse wird nicht angezeigt



## Final_guy (26. Aug 2008)

Tach allerseits,

wie im Titel bereits beschrieben habe ich ein Problem mit meinem Eclipse (Version 3.3.2). Und zwar habe ich eine selbgeschriebene Bibliothek in einem Projekt eingebunden die eine Utility-Klasse mit statischen Methoden enthält. Im Code des Projektes welches die Bibliothek verwendet wird diese Utility-Klasse auch korrekt identifiziert (will heißen, ich kann die Autovervollständigung vewenden und der Paketname ist ebenfalls korrekt). Es sind auch alle Konstanten der Klasse sichtbar, nur eben leider keine Methode. :shock: Wenn ich die Bibliothek in den "Referenced Librarys" öffne und die betreffende Klasse aufklappe, werden mir jedoch alle Methoden korrekt angezeigt. ???:L 


Jetzt stehe ich ein wenig auf dem Schlauch und habe die Hoffnung, dass es eine ganz blöde kleinigkeit ist, die ich vergessen habe. Hat jemand von euch schon einmal ähnliche Erfahrungen gemacht und kann mir weiterhelfen?


----------



## maki (26. Aug 2008)

Welchen Sichtbarkeitsbereich haben denn die Methoden?


----------



## Final_guy (26. Aug 2008)

Richtig, das habe ich vergessen zu erwähnen. Aber die Methoden sind als 'public' deklariert und sollten von daher sichtbar sein.


----------



## Wildcard (26. Aug 2008)

Hast du vielleicht vergessen die Klasse in ein Package zu definieren?


----------



## Final_guy (26. Aug 2008)

Nein, auch das kann nicht der Grund sein. Die klasse(n) liegen brav in einem wohldefinierten Paket. Weitere Ideen?


----------



## maki (26. Aug 2008)

Sollte eigentlich alles funzen so wie du es beschreibst.


----------



## SlaterB (26. Aug 2008)

bleibt nur noch, dass die Methode nicht statisch ist,

Code posten


----------



## Final_guy (26. Aug 2008)

```
public static void sendMail(final String host,
                            final String port,
                            final String id,
                            final EmailMessage emailMessage) throws MessagingException {

    // forward the call
    sendMail(new ConnectionSetting(host,
                                   port,
                                   id), emailMessage);
}


public static void sendMail(final ConnectionSetting connectionSetting,
                            final EmailMessage emailMessage) throws MessagingException {

        // Connection properties
        final Properties properties = new Properties();
        properties.put("mail.smtp.host", connectionSetting.getHost());
        properties.put("mail.smtp.port", connectionSetting.getPort());
        properties.put("mail.smtp.user", connectionSetting.getUser());
        properties.put("mail.debug", "false");

        final Session session = Session.getInstance(properties, null);
        session.setDebug(false);

        // ...
        final MimeMessage mimeMessage = new MimeMessage(session);
        // Add the senders address to the message
        setSenderAddress(mimeMessage, emailMessage.getSender());
        // Set the address of those people to receive this message.
        setReceivers(mimeMessage, MimeMessage.RecipientType.TO, emailMessage
                .getRecipients());
        // Set the address of those people to receive this message as a copy.
        setReceivers(mimeMessage, MimeMessage.RecipientType.CC, emailMessage
                .getRecipientsForCopy());
        // Set the address of those people to receive this message as a so
        // called blind copy, i.e. without having the other receivers recognize
        // this additional copies.
        setReceivers(mimeMessage, MimeMessage.RecipientType.BCC, emailMessage
                .getRecipientsForBlindCopy());
        // Set the subject of this message.
        setSubject(mimeMessage, emailMessage.getSubject());

        // Get the system time and use it to set the send date of this email
        // message.
        mimeMessage.setSentDate(new Date());

        // Prepare the content, i.e. if we are about to send a HTML formatted
        // email we will check the content for probably harmful HTML code and
        // "disarm" it be replacing the braces with their HTML substitution
        // code. If on the other side we are about to send a plain text mail we
        // leave the content unchanged.
        String content = emailMessage.getContent().toString();
        if (emailMessage.getMimeType() == MimeType.HTML)
            content = SecurityCheck.checkText(content);

        // Prepare a MultiPart object, that will hold the textual content of the
        // email message as well as any attachments that may be added.
        final Multipart multipart = new MimeMultipart();
        // Add the content prepared above to this MultiPart message.
        addContentToMultipart(multipart, content, emailMessage.getMimeType());
        // Add attachment to the mail (if there are any).
        addAttachmentsToMultipart(multipart, emailMessage.getAttachments());

        // Finally the only thing that is left to do is define the MultiPart
        // prepared cautiously above to be the content of our message and
        // deliver it by calling the transport class.
        mimeMessage.setContent(multipart);
        Transport.send(mimeMessage);
    }
```


----------



## Wildcard (26. Aug 2008)

Schau mal in deine Problems View. Möglicherweise hast du irgendwo einen Build-Path-Error der Eclipse am kompilieren hindert.


----------



## Final_guy (26. Aug 2008)

Nope, da sind nur ein paar CheckStyle-Warnings. Es ist zum Verrückt werden ...  :?


----------



## Wildcard (26. Aug 2008)

Mach mal clean...


----------



## Final_guy (26. Aug 2008)

Tach, das mit dem clean war gar nicht schlecht - nur nicht in Eclipse sondern einfach mal unter Maven. :autsch: Ich muss ja fairerweise sagen, dass ich nicht erwähnt habe, dass das Projekt mit Maven2 gebaut wird sonst wärt ihr vermutlich schon früher darauf gekommen. Aber ist ja auch egal - nun tut es auf jeden Fall! 

In jedem Fall vielen Dank an euch alle, die hier im Forum dazu beigetragen haben. Manchmal hilft es ja schon, wenn man sich ein wenig austauscht. In diesem Sinne!   :applaus:  :toll:


----------

