создание папки META-INF/services в Eclipse
Я пытаюсь создать расширяемое приложение на Java и решил использовать SPI. Согласно этому учебник Я следую, я должен создать определенный файл в META-INF/services
в моей банке, но не знаю как.
Я знаю, как создать банку с META-INF
, но не могу найти способ, как создать и конкретный файл в этой папке. (Я использую Eclipse)
Спасибо за вашу помощь.
2 ответов
поскольку учебник инструктирует создавать его вручную, а не с помощью ant или maven или других инструментов сборки, просто создайте папку с именем META-INF на корневом уровне с подпапкой с именем услуги и файл с названием манифест.MF.
Я не уверен, как вы планируете выполнить свой файл jar, теперь вы можете просто поместить эту строку в свой MANIFEST.MF
:
Manifest-Version: 1.0
для папки "службы" необходимо создать файл имени com.example.dictionary.spi.Dictionary
со следующим содержимым одной строки, как указано в учебнике: -
com.example.dictionary.GeneralDictionary
к твоему сведению -META-INF является внутренней Java мета
Если вы строите свой jar-файл с Ant Apache, вам нужно добавить набор файлов metainf или, еще лучше, использовать директиву служб, такую как so
<jar jarfile="pinky.jar">
<fileset dir="build/classes"/>
<service type="javax.script.ScriptEngineFactory"
provider="org.acme.PinkyLanguage"/>
</jar>
Если вы не используете Ant apache, вам нужно добавить файл в jar
jar -uf jarfile.jar META-INF/services/name.of.general.service
, который содержит имя реализации сервиса
com.mycorp.services.Fooservice
Если вы создаете файл JAR с помощью Eclipse "Runnable jar file export" в рамках проекта, выберите " Сохранить как ANT сценарий", а затем измените сценарий ant для упаковки в службы, как описано выше.