Spring Tool Suite
  1. Spring Tool Suite
  2. STS-693

springide doesn't work in rational tools (RSA 7.5, RAD 7.5)

    Details

    • Type: Bug Bug
    • Status: Open Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Spring IDE doesn't work with RSA/RAD tools.

      One of the reasons could be that IBM decided to integrate support for websphere products as old eclipse plugins (3.0) that export some of the APIs that SpringIDE uses.

      The following part of stacktrace

      !ENTRY org.springframework.ide.eclipse.core 4 0 2009-09-24 11:48:31.089
      !MESSAGE Xerces version [unkown] loaded from [file:D:\IBM\SDPShared\plugins\com.ibm.websphere.v6_6.0.200.v20080707_1609\java\jre\lib\xml.jar] using class loaders [org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader -> org.eclipse.osgi.baseadaptor.BaseAdaptor$ParentClassLoader]
      

      suggests that xerces packages are found in com.ibm.websphere.v6_6.0.200.v20080707_1609 which is probably not what we want.

      Notice that this plugin exports xerces API with high OSGI version number (6.0.200)

      The same/similar problem occurs with some of the eclipse APIs for which IBM provides "migration" bundles.

      Some ideas how this could be solved:

      • use Require-Bundle header instead of Import-Package - not very nice but it works
      • use Import-Package headers but specify API version ranges and uses directive - this is not easy as it seems

        Activity

        Hide
        Stuart Smith added a comment -

        Any work on getting this resolved? This is the STS issue with the most votes.

        I realize SpringSource might prefer nobody deployed on anything but tcServer, etc but that is not a choice that should be made for us by the IDE. Besides, if STS can't work with RAD/WebSphere then people will look at MyEclipse and you will not have a chance to connect with those shops as people will not be using STS and not be able to experiment with things like tcServer and even consider switching.

        Show
        Stuart Smith added a comment - Any work on getting this resolved? This is the STS issue with the most votes. I realize SpringSource might prefer nobody deployed on anything but tcServer, etc but that is not a choice that should be made for us by the IDE. Besides, if STS can't work with RAD/WebSphere then people will look at MyEclipse and you will not have a chance to connect with those shops as people will not be using STS and not be able to experiment with things like tcServer and even consider switching.
        Hide
        Martin Lippert (c) added a comment -

        Hey Stuart, sorry for this delay, no progress on this one yet, but definitely no political or strategical reason for this delay. Can you point me to a place where I can download trial versions of the latest RAD tools to try things out on my own? That would be great! Once I have those apps, I will take a look and see that I can do.

        Show
        Martin Lippert (c) added a comment - Hey Stuart, sorry for this delay, no progress on this one yet, but definitely no political or strategical reason for this delay. Can you point me to a place where I can download trial versions of the latest RAD tools to try things out on my own? That would be great! Once I have those apps, I will take a look and see that I can do.
        Hide
        Stuart Smith added a comment -

        Thanks for the quick reply. I think I may have made some headway into resolving this but haven't tried this on the latest versions.

        When you install RAD you can get it to point to an existing Eclipse version and that may be what has got it working for me. Definitely only works with RAD 8 though as that is on the Eclipse 3.6.x branch internally. Also when you install STS you have to point it at the IBM JDK installed with WebSphere otherwise the RAD tools for WebSphere won't install.

        What I've tried:

        1. Install WebSphere Application Server for Developers. This is a free version of WAS that is not a trial but without support except the first days after install.
        http://www-01.ibm.com/software/webservers/appserv/developer/index.html

        2. Install Java JRE so you can run the STS install.

        3. Install STS and point to the JDK installed with WebSphere. This is something like:
        C:\Program Files\IBM\WebSphere\AppServer\java

        4. Install RAD 8 and when promted point to the STS install as an existing Eclipse installation to extend. You can get RAD 8 trial here:
        http://www.ibm.com/developerworks/downloads/r/rad/
        When you do install RAD you don't need a WebSphere test environment installed since you already installed WebSphere.

        I have not tried the install RAD 8 and then use an STS update site approach. It would be interesting to see if there are errors with one approach and not the other.

        I have not tried any development yet but I don't get the initialization errors. I also tried it with WAS 7 for developers initially but since the conflicts are between RAD and STS I don't think that would matter.

        I will update if I find anything else out but it would help to see if there is a resolution to this.

        The "Fix" for this issue might be to use an STS version that is based on Eclipse 3.6.x and follow the steps I outlined. I think as long as there is some way to do it people would be satisfied. Obviously there will eventually develop a gap between the latest STS and what you might be able to install in RAD 8 but that is just because of the different lifecycles of the products.

        Show
        Stuart Smith added a comment - Thanks for the quick reply. I think I may have made some headway into resolving this but haven't tried this on the latest versions. When you install RAD you can get it to point to an existing Eclipse version and that may be what has got it working for me. Definitely only works with RAD 8 though as that is on the Eclipse 3.6.x branch internally. Also when you install STS you have to point it at the IBM JDK installed with WebSphere otherwise the RAD tools for WebSphere won't install. What I've tried: 1. Install WebSphere Application Server for Developers. This is a free version of WAS that is not a trial but without support except the first days after install. http://www-01.ibm.com/software/webservers/appserv/developer/index.html 2. Install Java JRE so you can run the STS install. 3. Install STS and point to the JDK installed with WebSphere. This is something like: C:\Program Files\IBM\WebSphere\AppServer\java 4. Install RAD 8 and when promted point to the STS install as an existing Eclipse installation to extend. You can get RAD 8 trial here: http://www.ibm.com/developerworks/downloads/r/rad/ When you do install RAD you don't need a WebSphere test environment installed since you already installed WebSphere. I have not tried the install RAD 8 and then use an STS update site approach. It would be interesting to see if there are errors with one approach and not the other. I have not tried any development yet but I don't get the initialization errors. I also tried it with WAS 7 for developers initially but since the conflicts are between RAD and STS I don't think that would matter. I will update if I find anything else out but it would help to see if there is a resolution to this. The "Fix" for this issue might be to use an STS version that is based on Eclipse 3.6.x and follow the steps I outlined. I think as long as there is some way to do it people would be satisfied. Obviously there will eventually develop a gap between the latest STS and what you might be able to install in RAD 8 but that is just because of the different lifecycles of the products.
        Hide
        Stuart Smith added a comment -

        There is still an issue related to this although it is slightly different.

        I am able to install STS 2.6.0 and then RAD 8.0.2 on top of it using the approach described above. You can get everything installed and it doesn't appear to have errors on startup.

        The issue came back though when trying to add a Spring configuration file to a project created to target a WebSphere 7.0 server.

        I get the following error in the 'Markers' view:

        Error occured processing XML 'Provider org.apache.xerces.parsers.XIncludeAwareParserConfiguration could not be instantiated: org.apache.xerces.impl.dv.DVFactoryException: DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.'. See Error Log for more details

        I will try more tomorrow to see if projects can still function even with this error. The question is if this is just for validation or for some other features of the Spring plug-ins that might disable some functionality from them but not prevent deploying Spring applications from RAD to WebSphere.

        Show
        Stuart Smith added a comment - There is still an issue related to this although it is slightly different. I am able to install STS 2.6.0 and then RAD 8.0.2 on top of it using the approach described above. You can get everything installed and it doesn't appear to have errors on startup. The issue came back though when trying to add a Spring configuration file to a project created to target a WebSphere 7.0 server. I get the following error in the 'Markers' view: Error occured processing XML 'Provider org.apache.xerces.parsers.XIncludeAwareParserConfiguration could not be instantiated: org.apache.xerces.impl.dv.DVFactoryException: DTD factory class org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl does not extend from DTDDVFactory.'. See Error Log for more details I will try more tomorrow to see if projects can still function even with this error. The question is if this is just for validation or for some other features of the Spring plug-ins that might disable some functionality from them but not prevent deploying Spring applications from RAD to WebSphere.
        Hide
        Stuart Smith added a comment - - edited

        Some more updates...

        I have confirmed that this conflict between the RAD plug-ins and STS plug-ins does not affect runtime behavior of Spring (as expected).

        What I have noticed is that the 'Spring Explorer' view does not show any beans configured from Spring configuration files. Also the 'Beans Graph' tab of the Spring bean configuration editor does not show anything. I would assume the validation may not work also but have yet to verify that.

        This makes sense as I assume the STS plug-ins are attempting to use Xerces to read the XML of the Spring configuration and enable these various features of the tools.

        As I said above I'm working with RAD 8.0.2 and STS 2.6.0 because these are able to merge together into one install "out of the box" and without downloading any updates. I'm trying to come up with labs for a training class and we like to avoid needing internet connections when possible as this is not always available. Since you would need an internet connection to install updates that is what has led me to pick these versions.

        If I have a chance to try with more recent versions of RAD and STS or different installation approaches I will post those results here.

        It still would be nice to get this to work. From the comments earlier in this issue it seems like this "could" be fixed with only changes to STS plug-ins. Even if the ultimate issue is because of a conflict with RAD plug-ins I would think that wouldn't be an excuse not to fix it if possible from the STS side.

        Show
        Stuart Smith added a comment - - edited Some more updates... I have confirmed that this conflict between the RAD plug-ins and STS plug-ins does not affect runtime behavior of Spring (as expected). What I have noticed is that the 'Spring Explorer' view does not show any beans configured from Spring configuration files. Also the 'Beans Graph' tab of the Spring bean configuration editor does not show anything. I would assume the validation may not work also but have yet to verify that. This makes sense as I assume the STS plug-ins are attempting to use Xerces to read the XML of the Spring configuration and enable these various features of the tools. As I said above I'm working with RAD 8.0.2 and STS 2.6.0 because these are able to merge together into one install "out of the box" and without downloading any updates. I'm trying to come up with labs for a training class and we like to avoid needing internet connections when possible as this is not always available. Since you would need an internet connection to install updates that is what has led me to pick these versions. If I have a chance to try with more recent versions of RAD and STS or different installation approaches I will post those results here. It still would be nice to get this to work. From the comments earlier in this issue it seems like this "could" be fixed with only changes to STS plug-ins. Even if the ultimate issue is because of a conflict with RAD plug-ins I would think that wouldn't be an excuse not to fix it if possible from the STS side.

          People

          • Assignee:
            Martin Lippert (c)
            Reporter:
            Ivica Loncar
          • Votes:
            13 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

            • Created:
              Updated:
              First Response Date: