I was compiling the DFS samples uisng the ANT build file provided with the EMC SDK download. I hit an error with ANT version while running the “ant artifacts” target. I downloaded a fresh binary of ANT 1.6.5 from Apache website. But I kept getting the same error.
Invalid implementation version between Ant core and Ant optional tasks.
core : 1.6.2
optional: 1.6.5
The reason seems to be due to the fact that dctm.jar contains a MANIFEST.MF file which in turn has a reference to (older) ANT jar files.
Shared/ant.jar Shared/ant-ext.jar Shared/ant-launcher.jar
Solution:
Check all your class paths for any JAR files that may have a manifest file which refers to old versions of ANT jar files.
- Remove dctm.jar from the CLASSPATH.
- Add the individual jar files from – D:\Program Files\Documentum\Shared to the CLASSPATH.
- Exclude the – ant.jar, ant-ext.jar and ant-launcher.jar files from the CLASSPATH
set DCTM_SHARED=D:\Program Files\Documentum\Shared
%DCTM_SHARED%\activation.jar;%DCTM_SHARED%\admin.jar;%DCTM_SHARED%\All-MB.jar;%DCTM_SHARED%\AMService.jar;%DCTM_SHARED%\aspectjrt.jar;%DCTM_SHARED%\bpmutil.jar;%DCTM_SHARED%\bsf.jar;%DCTM_SHARED%\castor-0.9.5.2.jar;%DCTM_SHARED%\certjFIPS.jar;%DCTM_SHARED%\ci.jar;%DCTM_SHARED%\collaboration.jar;%DCTM_SHARED%\commons-jxpath-1.1.jar;%DCTM_SHARED%\commons-net-1.2.1.jar;%DCTM_SHARED%\ctsTransform.jar;%DCTM_SHARED%\ctsTransformImpl.jar;%DCTM_SHARED%\dam_services.jar;%DCTM_SHARED%\Dart.jar;%DCTM_SHARED%\DDS.jar;%DCTM_SHARED%\dfc.jar;%DCTM_SHARED%\dfcbase.jar;%DCTM_SHARED%\DmcPolicyEngine.jar;%DCTM_SHARED%\DmcRecords.jar;%DCTM_SHARED%\DmcRps.jar;%DCTM_SHARED%\dms-client-api.jar;%DCTM_SHARED%\IDmcPolicyEngine.jar;%DCTM_SHARED%\IDmcRps.jar;%DCTM_SHARED%\IDmcRpsModules.jar;%DCTM_SHARED%\jaxb-api.jar;%DCTM_SHARED%\jaxb-impl.jar;%DCTM_SHARED%\jsafeFIPS.jar;%DCTM_SHARED%\jsr173_api.jar;%DCTM_SHARED%\learningservices.jar;%DCTM_SHARED%\log4j.jar;%DCTM_SHARED%\messageArchive.jar;%DCTM_SHARED%\messageService.jar;%DCTM_SHARED%\offline.jar;%DCTM_SHARED%\serializer.jar;%DCTM_SHARED%\subscription.jar;%DCTM_SHARED%\Widgets.jar;%DCTM_SHARED%\workflow.jar;%DCTM_SHARED%\wstools.jar;%DCTM_SHARED%\xalan.jar;%DCTM_SHARED%\xercesImpl.jar;%DCTM_SHARED%\xforms.jar;%DCTM_SHARED%\XformsCommon.jar;%DCTM_SHARED%\xml-apis.jar;%DCTM_SHARED%\xmlParserAPIs.jar;%DCTM_SHARED%\xtrim-api.jar;%DCTM_SHARED%\xtrim-server.jar;
set CLASSPATH=%PROJECT_FOLDER%;%DCTM_SHARED_CLASSPATH%





July 7, 2008 at 11:36 pm |
This is a pretty common problem we see when developing solutions for Documentum that use ant to build/deliver content. The simple solution is to make sure your latest ant jar file is earlier in the classpath than dctm.jar… i.e. no need to remove stuff from the classpath
July 9, 2008 at 8:44 am |
You are right about adding ant jar files before dctm.jar to resolve this problem. I usually use something like the following:
set ANT_HOME=D:\DevelopmentTools\apache-ant-1.6.5
set PATH=%PATH%;%ANT_HOME%\bin
REM This is to prevent version conflicts between ANT libraries
set CLASSPATH=%DCTM_CONFIG_FOLDER%;%ANT_HOME%\lib\ant.jar;%ANT_HOME%\lib\ant-nodeps.jar;%ANT_HOME%\lib\ant-launcher.jar;%CLASSPATH%
But in the case of DFS sample build files that came with dfs-sdk, this didn’t work. I probably could have tried changing the ANT build file, but I took this way out