Позднее прибытие на вечеринку:
Если вы используете Gradle , вы можете добавить банку как обычную зависимость вашего проекта, если вы примените osgi-run плагин.
Плагин osgi-run будет прозрачно упаковывать банку в пакет для вас, экспортируя каждый пакет в нем и вычисляя весь его импорт.Так как Gradle будет знать транзитивные зависимости jar, он будет делать то же самое и для них, если необходимо.
Jar будет частью OSGi runtime-создания, который вы можете запуститьс gradle runOsgi
или gradle createOsgi
, затем с помощью сценариев run.sh
или run.bat
.
Фактическая упаковка выполняется Bnd , швейцарским ножом мира OSGi., конечно.
Если вы хотите настроить, как происходит перенос (что обычно нужно импортировать / экспортировать), вы можете легко сделать это в файле сборки Gradle, см. документацию для деталей.
Пример:
wrapInstructions {
// use regex to match file name of dependency
manifest( "c3p0.*" ) {
// import everything except the log4j package - should not be needed
instruction 'Import-Package', '!org.apache.log4j', '*'
instruction 'Bundle-Description', 'c3p0 is an easy-to-use library for making traditional ' +
'JDBC drivers "enterprise-ready" by augmenting them with functionality defined by ' +
'the jdbc3 spec and the optional extensions to jdbc2.'
}
}