Ich arbeite an einem Java-Projekt in Eclipse, das mit Maven erstellt wurde. Ich verwende recycelten Code aus einem älteren Projekt. Eine dieser Klassen sucht im META-INF/services
Ordner der JAR nach einer Datei mit einem bestimmten Namen und analysiert dann den Text dieser Datei. In diesem Beispiel wird nach einer Datei mit dem Namen einer Java-Schnittstelle gesucht und anschließend der Klassenname der Implementierung aus der Datei abgerufen.
Ich versuche also im Grunde, eine Datei mit dem Dateinamen (X) und einer Textzeile (Y) in den Ordner "META-INF / services" der JAR aufzunehmen . Ich vermute, dass dies mit Maven geschehen sollte, vielleicht durch Angabe eines Attributs in der POM-Datei, aber meine Forschung hat nichts ergeben. Ich weiß, dass Sie keine META-Dateien hart codieren oder manuell eingeben sollen, daher bin ich mir nicht sicher, was ich hier tun soll.
com.example.MyInterfaceImpl
Standardmäßig sucht Maven nach Ressourcen unter:
Also leg es an
quelle
Wenn Ihr Projekt keine Standardverzeichnisstruktur verwendet (oder Sie einfach alternative Ressourcenverzeichnisse wünschen), können Sie Ressourcenverzeichnisse manuell in der POM-Datei angeben .
Wenn sich Ihr
META-INF/services
Ordner beispielsweise in einem Ordnerresources
befindet, der sich im Stammverzeichnis Ihres Projektverzeichnisses befindet, können Sie ihn wie folgt angeben:<project> ... <build> ... <resources> <resource> <directory>resources</directory> </resource> </resources> ... </build> ... </project>
Sie können dies verwenden, um mehrere Verzeichnisse anzugeben, indem Sie mehrere
<resource>
Elemente hinzufügen .quelle