Community
Participate
Working Groups
Build Identifier: I20100313-1044 When using an eclipse.ini file to launch an RCP application the classpath entries specified on the -dev argument are not visible to the plug-ins if a relative path is specified. For example, the classes in "bootstrap.jar" are not visible (ClassNotFoundException is thrown when the classes are referenced) when the following is specified (the same error is the same regardless of whether forward or backslashes are used in the relative path and is encountered on both Windows and Linux): -dev ../lib/bootstrap.jar However, if the absolute path name for bootstrap.jar is specified in the eclipse.ini file then its classes are visible to the plug-ins. While we can get around this limitation by appending "../lib/bootstrap.jar" to the boot classpath we were wondering if this is a bug given that relative path names are accepted for the -dev argument when specified on the command line. (We also noticed this limitation on Eclipse 3.2.2 so it does not appear to be an Eclipse 3.6 beta issue.) Reproducible: Always Steps to Reproduce: 1. Create a trival "Hello World" application that references a class in an external jar file. 2. Create an eclipse.ini file for this application with the -dev value being the relative path to the external jar file. 3. Launch the application and then inspect the <workspace>\.metadata\.log file.
There should be no difference between putting the -dev on the command line or in the eclipse.ini file. Looking at the help I see This property may also be set to a comma-separated class path entries which are added to the class path of each plug-in or a URL to a Java properties file containing custom classpath additions for a set of plug-ins. I'm not sure that relative paths that reach outside of the bundle make sense here in general.
This is not a valid us of the -dev option. This is intended to be used for running bundles out of the workspace and is needed so that the output folder (typically bin) used by jdt can be added to the classpath at runtime.