Предоставление поиска по пути к классам / отладочным серверам в Eclipse

Я разрабатываю плагин Eclipse, который предоставляет адаптер сервера WST (например, Tomcat, Jetty и т. Д.) - Sling IDE Tooling.

Фактический сервер - это приложение Java, поэтому у него есть путь к классам. Я заинтересован в том, чтобы разоблачить этот путь к Eclipse, чтобы

  • пользователи могут видеть, что развернуто на этом сервере
  • Я могу заполнить исходный путь поиска при отладке

Я знаю, как узнать, что развернуто на сервере, но как я могу предоставить его Eclipse?

1 ответ

Решение

IVMConnector.connect занимает ILaunch аргумент, который в свою очередь содержит ISourceLocator, Локатор источника имеет список ISourceContainer экземпляров.

Экземпляры исходного контейнера создаются из списка разрешенных IRuntimeClasspathEntrys. Некоторые примеры:

List<IRuntimeClasspathEntry> classpathEntries = new ArrayList<>();

// 1. Adding a IJavaProject as a classpath entry
classpathEntries.add(JavaRuntime.newProjectRuntimeClasspathEntry(javaProject));

// 2. Adding external jar files
classpathEntries.add(JavaRuntime.newArchiveRuntimeClasspathEntry(jarPath));

// 3. Adding a JRE entry
classpathEntries.add(JavaRuntime.computeJREEntry(launch.getLaunchConfiguration()));

Затем записи пути к классам необходимо разрешить и преобразовать в исходные контейнеры.

// 4. resolve the classpath entries
IRuntimeClasspathEntry[] resolved = JavaRuntime.resolveSourceLookupPath(classpathEntries.toArray(new IRuntimeClasspathEntry[0]), launch.getLaunchConfiguration());

// 5. convert them to source references
ISourceContainer[] containers = JavaRuntime.getSourceContainers(resolved));

На данный момент источник c

Другие вопросы по тегам