Как программно импортировать пользовательские библиотеки из файла - PullRequest
0 голосов
/ 21 апреля 2011

У меня есть файл "myUserLib.userlibraries", в котором определены все необходимые пользовательские библиотеки.Как часть моего плагина, который я разработал (это создаст веб-проекты и необходимые настройки), я хочу импортировать этот файл в проекты, созданные плагином.библиотеки из файла?

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Наконец-то у меня получилось так, как я хочу. Теперь я могу программно загружать пользовательские библиотеки в настройки рабочего пространства из файла "myuserlibs.userlibraries". Я использовал следующие классы плагинов Eclipse.

org.eclipse.jdt.internal.core.UserLibrary.class
org.eclipse.jdt.internal.core.UserLibraryManager.class
org.eclipse.jdt.internal.core.UserLibraryClasspathContainer.class
org.eclipse.jdt.internal.core.UserLibraryClasspathContainerInitializer.class

В этих классах есть множество методов для решения этой задачи.

После того, как они были загружены в настройки, я также могу программно добавлять необходимые записи в пользовательскую библиотеку в соответствующие проекты (созданные моим плагином). Потому что у меня в рабочей области около 8 веб-проектов, и для каждого из них требовался различный набор пользовательских библиотек в контейнере пути к классам.

1 голос
/ 22 апреля 2011

Если вы разрабатываете плагин для добавления этих библиотек в проект classpath, я рекомендую вам написать собственный контейнер classpath, а не повторно использовать средство пользовательских библиотек.Если вы пишете пользовательский контейнер, проект classpath будет содержать идентификатор вашего контейнера, и JDT запросит ваш код во время выполнения, чтобы получить фактический список записей classpath.

Это избавит вас от необходимости хранить и поддерживать содержимое вашей библиотеки в настройках рабочего пространства, как это было бы необходимо сделать, если бы вы использовали подход пользовательской библиотеки.

См. Org.eclipse.jdt.core.IClasspathContainer class.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...