Required emf class not found when requesting team build from build forge
I'm trying to kick off a team build from a build forge project as part of a nested build setup. When I execute the requestTeamBuild task from the command line using 'ant -f <buildfile> -lib <toolkitpath>' everything works just fine. When I execute the same exact command in build forge on the same server, I'm seeing 'required class not found' error with all of the taskdefs from the BuildToolkitTaskDefs.xml. I don't really need them all, so I tried copying the task defs from the BuildToolkitTaskDefs.xml file directly into my ANT script and still no luck. I've pasted the error below. Anyone have an idea of what can be going on?
taskdef A class needed by class com.ibm.team.build.ant.task.RequestBuildTask cannot be found: org.eclipse.emf.ecore.util.EcoreEMap$DelegateEObjectContainmentEList 442 6/14/13 2:10 PM EXEC at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:613) 443 6/14/13 2:10 PM EXEC at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:228) 444 6/14/13 2:10 PM EXEC at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 445 6/14/13 2:10 PM EXEC at java.lang.reflect.Method.invoke(libgcj.so.7rh) 446 6/14/13 2:10 PM EXEC at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 447 6/14/13 2:10 PM EXEC at org.apache.tools.ant.Task.perform(Task.java:348) 448 6/14/13 2:10 PM EXEC at org.apache.tools.ant.Target.execute(Target.java:357) 449 6/14/13 2:10 PM EXEC at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:142) 450 6/14/13 2:10 PM EXEC at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:93) 451 6/14/13 2:10 PM EXEC at org.apache.tools.ant.Main.runBuild(Main.java:743) 452 6/14/13 2:10 PM EXEC at org.apache.tools.ant.Main.startAnt(Main.java:217) 453 6/14/13 2:10 PM EXEC at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) 454 6/14/13 2:10 PM EXEC at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) 455 6/14/13 2:10 PM EXEC Caused by: java.lang.NoClassDefFoundError: org.eclipse.emf.ecore.util.EcoreEMap$DelegateEObjectContainmentEList 456 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 457 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.util.EcoreEMap.<init>(EcoreEMap.java:101) 458 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EAnnotationImpl$1.<init>(EAnnotationImpl.java:167) 459 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EAnnotationImpl.getDetails(EAnnotationImpl.java:167) 460 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EPackageImpl.addAnnotation(EPackageImpl.java:1591) 461 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EPackageImpl.addAnnotation(EPackageImpl.java:1579) 462 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EPackageImpl.addAnnotation(EPackageImpl.java:1574) 463 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EcorePackageImpl.createExtendedMetaDataAnnotations(EcorePackageImpl.java:2492) 464 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EcorePackageImpl.internalBootstrap(EcorePackageImpl.java:515) 465 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.EcorePackage.<clinit>(EcorePackage.java:5110) 466 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 467 6/14/13 2:10 PM EXEC at java.lang.reflect.Field.get(libgcj.so.7rh) 468 6/14/13 2:10 PM EXEC at java.lang.reflect.Field.get(libgcj.so.7rh) 469 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.internal.util.InternalTeamPlatform$1.handleExtensionAdded(InternalTeamPlatform.java:268) 470 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.util.ExtensionReader.internalReadElement(ExtensionReader.java:196) 471 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.util.ExtensionReader.readRegistry(ExtensionReader.java:344) 472 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.util.ExtensionReader.start(ExtensionReader.java:374) 473 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.util.ExtensionReader.earlyStart(ExtensionReader.java:127) 474 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.internal.util.InternalTeamPlatform.initializeGeneratedPackages(InternalTeamPlatform.java:301) 475 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.internal.util.InternalTeamPlatform.start(InternalTeamPlatform.java:103) 476 6/14/13 2:10 PM EXEC at com.ibm.team.repository.client.TeamPlatform.startup(TeamPlatform.java:49) 477 6/14/13 2:10 PM EXEC at com.ibm.team.build.ant.task.AbstractTeamBuildTask.<clinit>(AbstractTeamBuildTask.java:213) 478 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 479 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 480 6/14/13 2:10 PM EXEC at java.lang.Class.forName(libgcj.so.7rh) 481 6/14/13 2:10 PM EXEC at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:583) 482 6/14/13 2:10 PM EXEC ...12 more 483 6/14/13 2:10 PM EXEC Caused by: java.lang.VerifyError: verification failed at PC 5 in org.eclipse.emf.ecore.util.EcoreEMap$DelegateEObjectContainmentEList:didAdd((ILjava.lang.Object;)V): incompatible type on stack 484 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 485 6/14/13 2:10 PM EXEC ...37 more 486 6/14/13 2:10 PM EXEC --- Nested Exception --- 487 6/14/13 2:10 PM EXEC java.lang.NoClassDefFoundError: org.eclipse.emf.ecore.util.EcoreEMap$DelegateEObjectContainmentEList 488 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 489 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.util.EcoreEMap.<init>(EcoreEMap.java:101) 490 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EAnnotationImpl$1.<init>(EAnnotationImpl.java:167) 491 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EAnnotationImpl.getDetails(EAnnotationImpl.java:167) 492 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EPackageImpl.addAnnotation(EPackageImpl.java:1591) 493 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EPackageImpl.addAnnotation(EPackageImpl.java:1579) 494 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EPackageImpl.addAnnotation(EPackageImpl.java:1574) 495 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EcorePackageImpl.createExtendedMetaDataAnnotations(EcorePackageImpl.java:2492) 496 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.impl.EcorePackageImpl.internalBootstrap(EcorePackageImpl.java:515) 497 6/14/13 2:10 PM EXEC at org.eclipse.emf.ecore.EcorePackage.<clinit>(EcorePackage.java:5110) 498 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 499 6/14/13 2:10 PM EXEC at java.lang.reflect.Field.get(libgcj.so.7rh) 500 6/14/13 2:10 PM EXEC at java.lang.reflect.Field.get(libgcj.so.7rh) 501 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.internal.util.InternalTeamPlatform$1.handleExtensionAdded(InternalTeamPlatform.java:268) 502 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.util.ExtensionReader.internalReadElement(ExtensionReader.java:196) 503 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.util.ExtensionReader.readRegistry(ExtensionReader.java:344) 504 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.util.ExtensionReader.start(ExtensionReader.java:374) 505 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.util.ExtensionReader.earlyStart(ExtensionReader.java:127) 506 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.internal.util.InternalTeamPlatform.initializeGeneratedPackages(InternalTeamPlatform.java:301) 507 6/14/13 2:10 PM EXEC at com.ibm.team.repository.common.internal.util.InternalTeamPlatform.start(InternalTeamPlatform.java:103) 508 6/14/13 2:10 PM EXEC at com.ibm.team.repository.client.TeamPlatform.startup(TeamPlatform.java:49) 509 6/14/13 2:10 PM EXEC at com.ibm.team.build.ant.task.AbstractTeamBuildTask.<clinit>(AbstractTeamBuildTask.java:213) 510 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 511 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 512 6/14/13 2:10 PM EXEC at java.lang.Class.forName(libgcj.so.7rh) 513 6/14/13 2:10 PM EXEC at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:583) 514 6/14/13 2:10 PM EXEC at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:228) 515 6/14/13 2:10 PM EXEC at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) 516 6/14/13 2:10 PM EXEC at java.lang.reflect.Method.invoke(libgcj.so.7rh) 517 6/14/13 2:10 PM EXEC at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) 518 6/14/13 2:10 PM EXEC at org.apache.tools.ant.Task.perform(Task.java:348) 519 6/14/13 2:10 PM EXEC at org.apache.tools.ant.Target.execute(Target.java:357) 520 6/14/13 2:10 PM EXEC at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:142) 521 6/14/13 2:10 PM EXEC at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:93) 522 6/14/13 2:10 PM EXEC at org.apache.tools.ant.Main.runBuild(Main.java:743) 523 6/14/13 2:10 PM EXEC at org.apache.tools.ant.Main.startAnt(Main.java:217) 524 6/14/13 2:10 PM EXEC at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) 525 6/14/13 2:10 PM EXEC at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) 526 6/14/13 2:10 PM EXEC Caused by: java.lang.VerifyError: verification failed at PC 5 in org.eclipse.emf.ecore.util.EcoreEMap$DelegateEObjectContainmentEList:didAdd((ILjava.lang.Object;)V): incompatible type on stack 527 6/14/13 2:10 PM EXEC at java.lang.Class.initializeClass(libgcj.so.7rh) 528 6/14/13 2:10 PM EXEC ...37 more 529 6/14/13 2:10 PM EXEC 530 6/14/13 2:10 PM EXEC Total time: 5 seconds 531 6/14/13 2:10 PM EXEC end [/home/cmbldr/ISW_Kepler_Driver_RTC_TEST/ISW_Kepler_Driver_11@svlvmsdi05.svl.ibm.com] 532 6/14/13 2:10 PM RESULT 1 (1) |
One answer
I figured out that JAVA_HOME was not being set in the Build Forge environment. I still don't really understand why this was working on the command line and not through the Build Forge console, but when I added JAVA_HOME pointing to the right jdk to the Build Forge environment setup, everything started working as I expected it to.
Comments The Build Forge command line is a blank slate shell-wise. So it will have NO variables set except those that are explicitly set through BF. So your own command line will work different since it has all the system settings like JAVA_HOME and PATH set on it, but BF will not have any of that set unless you explicitly set it, like what you already did. If you haven't already I would recommend setting the environment variables that you know you want to be system specific, e.g. JAVA_HOME on the server. That way you don't have to worry about setting it on each project, but just set it once on the server and then everytime something is run on the server it will set JAVA_HOME to the system specific path, whatever that might be.
Dustin Cote
commented Jun 18 '13, 11:42 a.m.
Thanks for the clarification. It makes more sense now.
|
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.