Uploaded image for project: 'IvyDE'
  1. IvyDE
  2. IVYDE-200

The gui wizard crash when adding a IvyDE Managed Dependencies library to a .launch file's classpath



    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0.final
    • Fix Version/s: 2.1.0
    • Component/s: None
    • Labels:
    • Environment:

      Windows XP sp3, Springsource Tool Suite 2.1 (Eclipse 3.5), IvyDE 2.0.0 Final, Ivy 2.1 RC1


      When adding an IvyDE library to the build path for a Java project, everything goes fine. I receive the gui wizard which locates the ivy.xml file and let's me pick which confs I want to use.

      However, when I try to do the same thing for a .launch file (i.e. setting up the launch for a JUnit Test case), once I choose Add Library and select IvyDE Managed Dependencies and hit Next, the wizard should proceed to the next screen, but instead it stays on the 'Select library type to add' screen. It acts as if it's proceeding though the flow, however. It does pop up a error "balloon" which says 'Ivy file not found' even though it's still on the 'Select library screen'. The ivy.xml is in the correct place, as I can add an Ivy library to the project's build path just fine. I can then click the Next button again, which takes me to a screen which says "Choose ivy file and its configurations", but the screen is completely blank (no labels, form fields, etc.) and I still have the error "balloon" mentioned earlier. From here I can click Finish, and the library is added to the .launch's classpath, but something about it causes the JUnit to not load any dependencies contained in the ivy.xml file.

      In my particular case it was obvious as I would get the exception below when running the JUnit:

      java.lang.NoClassDefFoundError: org/junit/runner/notification/RunListener

      Here's the classpath entry which was added from the above steps.

      <listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&amp;confs=*" path="3" type="4"/> "/>

      Instead of adding the library individually like outline above, if I choose to add the project to the .launch's classpath accepting all of it's exported entries and required projects, I get the entry below. Note the difference - confs=default instead of confs=* from the first entry.

      <listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&amp;confs=default" path="3" type="4"/> "/>

      If I change the first entry to match the second in regards to confs=default, then the dependencies contained in the ivy.xml are loaded properly.




            • Assignee:
              hibou Nicolas Lalevée
              jdilley Jason Dilley
            • Votes:
              0 Vote for this issue
              1 Start watching this issue


              • Created: