1

I'm having problems building the DD4T project to build with Maven in Eclipse (Java EE).

When I try to build the dd4t-api project using Run as > Maven build the build fails with a message in console telling me that it cannot find "com.tridion.contentdelivery:cd_model:jar:2013SP1" or "com.tridion.contentdelivery:cd_core:jar:2013SP1".

I have added the 2013SP1 cd_core and cd_model jars to the buildpath of the project, the Source tab of the maven build settings in turn and I've just tried adding a local repo to the POM file but am still seeing this error.

My experience with Maven is limited so I imagine I'm doing something wrong. A paste of the build output is below.

[INFO] Building Dynamic Delivery for Tridion API 1.31 [INFO] ------------------------------------------------------------------------ [WARNING] The POM for com.tridion.contentdelivery:cd_model:jar:2013SP1 is missing, no dependency information available [WARNING] The POM for com.tridion.contentdelivery:cd_core:jar:2013SP1 is missing, no dependency information available [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.715 s [INFO] Finished at: 2015-06-17T08:44:31+00:00 [INFO] Final Memory: 5M/115M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project dd4t-api: Could not resolve dependencies for project org.dynamicdelivery:dd4t-api:jar:1.31: The following artifacts could not be resolved: com.tridion.contentdelivery:cd_model:jar:2013SP1, com.tridion.contentdelivery:cd_core:jar:2013SP1: Failure to find com.tridion.contentdelivery:cd_model:jar:2013SP1 in file://C:\Development\dynamic-delivery-4-tridion-master\dependencies\Tridion jarfiles was cached in the local repository, resolution will not be reattempted until the update interval of my-local-repo has elapsed or updates are forced -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

Edit 1: I've noticed a couple of things that might be relevant

  1. There is no com.tridion.contentdelivery namespace in either the cd_model.jar or cd_core.jar
  2. The tridion.version var in the pom.xml is set to 2013SP1, the JAR's manifest files don't contain a mention of this at all.
3

In addition to what Rogier is saying, check how the jar files are installed in your local maven repo. The group id (com.tridion.contentdelivery) must be present in your repo as nested folders. Next check if the specified version is also there (2013SP1).

Very likely what you have in your maven repo doesn't add up with the dependencies you have specified in your project.

  • Thanks Rai, I'm just trying to add the jars to my local repo now using mvn install:install-file – Mark Williams Jun 17 '15 at 13:23
  • Adding the files to the repo as you suggested using mvn install:install-file allowed me to build the project successfully. I'm just battling some Tomcat problems now. Screenshot for those interested – Mark Williams Jun 17 '15 at 13:39
1

The error you get indicates that the Tridion jarfiles aren't added to your maven repository - maven does not look at anything related to eclipse, but has its own repository of artefacts.

There's a project that scripts the upload of these artefacts ( https://code.google.com/p/maven-4-tridion/ ) but the artefact names have been updated towards the dd4t-2 names. If you checkout the r2 revision, you should get scripts that function for dd4t 1.3.

That namespace isn't a java namespace, its the artifact descriptor in maven we had to guess. tridion doesn't support maven, so we've had to essentially guess it. That's also why there's not meta information inside of the jars ... hopefully they'll wake up and support it in 2015.

  • Thanks Rogier, you're right I just added them using mvn install:install-files and detailed the steps as an answer here. SDL are using Maven to build their own JARs as you can see in the META-INF/MANIFEST.MF files in the cd_***.jars so hopefully there will be support for Maven soon :) – Mark Williams Jun 17 '15 at 14:06
0

Rai's answer below does help explain what is going on with the build errors. The Tridion JARs required need to be present in the local Maven repo. To add the JARs to the repo the `mv install:install-files" command must be run against each cd_***.jar detailed in the various project's POM files.

After copying over the JARs as detailed in the DD4T for Java quickstart guide, open a command prompt and cd to the DD4T project's "java" directory then run these commands in turn

mvn install:install-file -Dfile="..\dependencies\Tridion jarfiles\cd_model.jar" -DgroupId=com.tridion.contentdelivery -DartifactId=cd_model -Dversion=2013SP1 -Dpackaging=jar

mvn install:install-file -Dfile="..\dependencies\Tridion jarfiles\cd_core.jar" -DgroupId=com.tridion.contentdelivery -DartifactId=cd_core -Dversion=2013SP1 -Dpackaging=jar

mvn install:install-file -Dfile="..\dependencies\Tridion jarfiles\cd_datalayer.jar" -DgroupId=com.tridion.contentdelivery -DartifactId=cd_datalayer -Dversion=2013SP1 -Dpackaging=jar

mvn install:install-file -Dfile="..\dependencies\Tridion jarfiles\cd_cache.jar" -DgroupId=com.tridion.contentdelivery -DartifactId=cd_cache -Dversion=2013SP1 -Dpackaging=jar

mvn install:install-file -Dfile="..\dependencies\Tridion jarfiles\cd_linking.jar" -DgroupId=com.tridion.contentdelivery -DartifactId=cd_linking -Dversion=2013SP1 -Dpackaging=jar

mvn install:install-file -Dfile="..\dependencies\Tridion jarfiles\cd_broker.jar" -DgroupId=com.tridion.contentdelivery -DartifactId=cd_broker -Dversion=2013SP1 -Dpackaging=jar

  • after following all of your steps i executed mvn install.. but even after it i cant import projects in eclipse. there is no pom file in example web site. – Harish Sharma Dec 8 '15 at 17:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.