[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[platform-debug-dev] Classloader won't find external tool classes
|
Hello
folks,
here is what I want
to do:
1) I want to create
a plugin which defines a launch type for an external tool.
2) The tool is
actually an ant buildfile which contains an FTP task (which will transfer an
executable from host to target system).
3) The buildfile
does not need to be modified for different executables, only the connection
parameters need to be changed from one target to another. The buildfile was
already successfully tested with a standard ant launch configuration.
4) But I want to add
ease of use by developping a custom launch.
Here is how I go
about it:
1) For a first step
I just want to define my own launch delegate so I don't have to bother with my
own GUI.
2) As a GUI I want
to use the standard ant launch configuration tabgroup.
So here is my
plugin.xml:
============================= Snippet: plugin.xml
<?xml
version="1.0" encoding="UTF-8"?>
<?eclipse
version="3.0"?>
<plugin
id="de.siemens.aud.rtp.ftpbeamerui"
name="Ftpbeamerui
Plug-in"
version="1.0.0"
provider-name="Siemens
AG">
<runtime>
<library
name="ftpbeamerui.jar">
<export name="*"/>
</library>
</runtime>
<requires>
<import
plugin="org.eclipse.debug.core"/>
<import plugin="org.eclipse.debug.ui"/>
<import plugin="org.eclipse.jdt.debug.ui"/>
</requires>
<extension
id="de.siemens.aud.rtp.ftpbeamerui.tabgroups"
name="Tab Groups"
point="org.eclipse.debug.ui.launchConfigurationTabGroups">
<launchConfigurationTabGroup
type="de.siemens.aud.rtp.ftpbeamer.launchConfigurationType"
class="org.eclipse.ant.internal.ui.launchConfigurations.AntTabGroup"
id="de.siemens.aud.rtpftpbeamerui.launchConfigurationTabGroup"/>
</extension>
</plugin>
============================= End snippet.
Note that in the launchConfigurationTabGroup
element I reference the standard
org.eclipse.ant.internal.ui.launchConfigurations.AntTabGroup while the launch
configuration type refers to my custom
de.siemens.aud.rtp.ftpbeamer.launchConfigurationType (which is defined in
another plugin).
Here is the problem:
When I start eclipse (as runtime-workbench
in debug mode) with this plugin and open the External Tools configuration dialog
I to see my launch configuration type In the configurations list on the left,
but if I try to create a new instance I get an error message box:
"Plug-in de.siemens.aud.rtp.ftpbeamerui was
unable to load class
org.eclipse.ant.internal.ui.lauchConfigurations.AntTabGroup."
Here is the log entry:
!SESSION Mar 01, 2005 07:47:14.52
----------------------------------------------
eclipse.buildId=unknown
java.version=1.4.2_06
java.vendor=Sun
Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32,
NL=en_US
Command-line arguments: -application org.eclipse.ui.ide.workbench
-pdelaunch
!ENTRY org.eclipse.core.runtime 4 1 Mar 01,
2005 07:47:14.52
!MESSAGE Plug-in de.siemens.aud.rtp.ftpbeamerui was unable
to load class
org.eclipse.ant.internal.ui.launchConfigurations.AntTabGroup.
!STACK
0
java.lang.ClassNotFoundException:
org.eclipse.ant.internal.ui.launchConfigurations.AntTabGroup
Some more remarks:
1) The assertion that the class loader
cannot find the AntTabGroup is a lie since I can create and manage standard ant
configurations perfectly well.
2) I looked into the sources and found that
AntTabGroup is a public class.
3) When configuring my plug-in I used the
plugin.xml creation wizard rather than typing the xml directly at the keybord.
Specifically I used the class browser to select the AntTabGroup as the entry
into the lauchConfigurationTabGroup element's "class" attribute. So a typo
cannot have happened.
4) The runtime-workbench launch
configuration on the plug-ins tab has the "Launch with all workspace and enabled
external plug-ins" selected, so it should also see the all the necessary
plug-ins - this is also proven by 1).
Hope you can give me a hint about
either
1) what am I doing wrong or
2) a smarter way to achieve what I want to
do.
Thanks a lot
Norbert Plött