[devel] Java: no magic wand, no magic hammer

Igor Vlasenko =?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Вт Янв 15 20:54:47 MSK 2008


On Tue, Jan 15, 2008 at 10:59:38AM +0300, Денис Смирнов wrote:
> On Mon, Jan 14, 2008 at 11:59:16PM +0200, Igor Vlasenko wrote:
> 
> IV> Далее для простоты не будем различать случаи "каталог поиска" и jar, 
> IV> так как различие только в синтаксисе и способе хранения.
> 
> У jar есть еще метаинформация. Кстати в обычных каталогах она может
> лежать? (я про classpath, собственно).

Гм. ничто не мешает положить туда META_INF/MANIFEST.MF.
Правда, как я понимаю, java (runtime) туда не сотрит.
но другие смотрят, в том же OSGi, например.

Немного отвлекусь, скажу, что способов записывать метаинформацию 
уже придумано множество, 

Среди наиболее популярных отмечу
среди встроенных в jar - 

OSGi manifest (поля вида Bundle-*)
как 
Bundle-ManifestVersion: 2
Bundle-Name: SpoonJdt Plug-in
Bundle-SymbolicName: fr.inria.spoon.jdt.builder; singleton:=true
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime,
Export-Package: fr.inria.spoon.jdt,
 fr.inria.spoon.jdt.builder.internal
Import-Package: org.eclipse.jdt.internal.ui.preferences,
 org.eclipse.jdt.internal.ui.wizards.dialogfieldsдоп. 
...

Обсуждение
http://felix.apache.org/site/presentations.data/osgi-apachecon-20060628.pdf

Среди внешних -
maven- описания с помощью POM - файлов (xml)

и symbol-db, используемую в gcj.

в частности, OSGi platform имеет, по сути, весь велосипед -
метаинформацию, пути, стандартные имена, загрузку - но только 
для своих сервисов.

У нас в Сизифе почти треть java пакетов имеет описание в виде POM файлов,
и около 2% имеет еще OSGi manifest.

В перспективе хотелось бы, чтобы каждая библиотека имела и POM, 
и OSGi manifest, поскольку это реально нужно для сборки проектов 
на maven либо на платформе eclipse, но это будет долгая 
и кропотливая ручная работа, 
которая, возможно, никогда не дойдет до 100%.
Поэтому это не платформы для AutoReq/AutoProv.

Я сам склоняюсь к какому-то аналогу symbol-db,
но, как и говорил, попытаюсь все это опробовать в тестах.


-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine




Подробная информация о списке рассылки Devel