2016-02-16 34 views
0

我正在開發一個提供WST服務器適配器(如Tomcat,Jetty等)的Eclipse插件 - Sling IDE Tooling在Eclipse中暴露服務器的類路徑/調試源查找

實際的服務器是一個Java應用程序,所以它有一個類路徑。我感興趣的暴露那類路徑Eclipse中,這樣

  • 用戶可以看到什麼是部署在服務器
  • 上調試

我知道當如何找出我可以填充源查找路徑在服務器上部署了什麼,但是如何將它公開給Eclipse?

回答

0

IVMConnector.connect需要一個ILaunch參數,該參數又保留ISourceLocator。源定位器有一個ISourceContainer實例的列表。

源容器實例是根據解析的IRuntimeClasspathEntry s列表構建的。一些例子:

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

相關問題