Externe Bibliotheken modularisieren

Bitte aktiviere JavaScript!
Hallo liebes Java-forum.org-Community,

ich möchte mein Programm modular (Jigsaw) ausliefern. Da ich aber externe Bibliotheken, wie JavaMail und JAF verwende, weiß ich nicht wie die mit einbinde. Denn die Bibliotheken sind nicht als Module veröffentlicht (kein module-info.class). Wie gehe ich da vor am besten vor?

MfG
memo1990
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Ich habe mich weiter eingelesenen und behandele die externe Bibliothek jetzt als Automatic Module. Wenn ich aber mit jlink mein Programm linken möchte, bekomme ich folgende Fehlermeldung:

Code:
Error: automatic module cannot be used with jlink: java.mail from file:///C:/Users/Username/Desktop/Project/libs/javax.mail-1.6.2.jar
 
Hallo,

danke @mihe7. Ich werde es mir mal anschauen. Vor allem der Thread in Stackoverflow. Denn man hat mehrere externe Libs die man, zusammen mit der Anwendung, modularisiert aushändigen möchte.
 
Hallo liebes Java-Forum,

ich muss das Thema nochmal hervorheben. Ich bekomme es nicht hin für die Drittanbieter-Bibliotheken ein module-info.java zu kompilieren.

Ich habe die JAR entpackt, die module-info.java mit jdeps generiert und in das Root-Verzeichnis gelegt. Wenn ich z.B. die JAF (JavaBeans Activation Framework) mit dem generierten Module Descriptor kompilieren möchte, bekomme ich folgende Fehlermeldung:

Code:
javac -d out --module-source-path mods --module activation
mods\activation\module-info.java:7: error: package is empty or does not exist: com.sun.activation.registries
    exports com.sun.activation.registries;
                              ^
mods\activation\module-info.java:8: error: package is empty or does not exist: com.sun.activation.viewers
    exports com.sun.activation.viewers;
                              ^
mods\activation\module-info.java:9: error: package is empty or does not exist: javax.activation
    exports javax.activation;
                 ^
3 errors
Hier noch das Verzeichnissbaum vom Module:

Code:
C:.
│   module-info.java
│
├───com
│   └───sun
│       └───activation
│           ├───registries
│           │       LineTokenizer.class
│           │       LogSupport.class
│           │       MailcapFile.class
│           │       MailcapParseException.class
│           │       MailcapTokenizer.class
│           │       MimeTypeEntry.class
│           │       MimeTypeFile.class
│           │
│           └───viewers
│                   ImageViewer.class
│                   ImageViewerCanvas.class
│                   TextEditor.class
│                   TextViewer.class
│
├───javax
│   └───activation
│           ActivationDataFlavor.class
│           CommandInfo.class
│           CommandMap.class
│           CommandObject.class
│           DataContentHandler.class
│           DataContentHandlerFactory.class
│           DataHandler$1.class
│           DataHandler.class
│           DataHandlerDataSource.class
│           DataSource.class
│           DataSourceDataContentHandler.class
│           FileDataSource.class
│           FileTypeMap.class
│           MailcapCommandMap.class
│           MimeType.class
│           MimeTypeParameterList.class
│           MimeTypeParseException.class
│           MimetypesFileTypeMap.class
│           ObjectDataContentHandler.class
│           SecuritySupport$1.class
│           SecuritySupport$2.class
│           SecuritySupport$3.class
│           SecuritySupport$4.class
│           SecuritySupport$5.class
│           SecuritySupport.class
│           UnsupportedDataTypeException.class
│           URLDataSource.class
│
└───META-INF
        mailcap.default
        MANIFEST.MF
        mimetypes.default
        SUN_MICR.RSA
        SUN_MICR.SF

Was mache ich falsch?

MfG memo1990
 
Zuletzt bearbeitet:
Guten Morgen,

hat keiner eine Lösung darauf bzw. warum das obige nicht funktioniert?

MfG memo1990
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben