Fedora with Maven

From FedoraWiki

Contents

Fedora 2.1

Dependencies

In your master POM file, insert the following dependencies:

 <dependencies>
   <dependency>
     <groupId>axis</groupId>
     <artifactId>axis</artifactId>
     <version>1.3</version>
   </dependency>
   <dependency>
     <groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
     <version>1.2.12</version>
   </dependency>
   <dependency>
     <groupId>wsdl4j</groupId>
     <artifactId>wsdl4j</artifactId>
     <version>1.5.1</version>
   </dependency>
   <dependency>
     <groupId>jrdf</groupId>
     <artifactId>jrdf</artifactId>
     <version>0.4.1.1</version>
   </dependency>
   <dependency>
     <groupId>commons-httpclient</groupId>
     <artifactId>commons-httpclient</artifactId>
     <version>3.1</version>
   </dependency>
   <dependency>
     <groupId>xpp3</groupId>
     <artifactId>xpp3_min</artifactId>
     <version>1.1.3.4.O</version>
   </dependency>
   <dependency>
     <groupId>xerces</groupId>
     <artifactId>xercesImpl</artifactId>
     <version>2.8.1</version>
   </dependency>
   <dependency>
     <groupId>xmlpull</groupId>
     <artifactId>xmlpull</artifactId>
     <version>1.1.3.4a</version>
   </dependency>
   <dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>servlet-api</artifactId>
     <version>2.3</version>
   </dependency>
   <dependency>
     <groupId>trippi</groupId>
     <artifactId>trippi-core</artifactId>
     <version>1.1.2</version>
     </dependency>
   <dependency>
     <groupId>jaxen</groupId>
     <artifactId>jaxen</artifactId>
     <version>1.1.1</version>
   </dependency>
   <dependency>
     <groupId>commons-logging</groupId>
     <artifactId>commons-logging</artifactId>
     <version>1.0.4</version>
   </dependency>
   <dependency>
     <groupId>base64</groupId>
     <artifactId>base64</artifactId>
     <version>unknown</version>
   </dependency>
   <dependency>
     <groupId>fedora-client</groupId>
     <artifactId>fedora-client</artifactId>
     <version>2.2.1</version>
   </dependency>
   <dependency>
     <groupId>cos</groupId>
     <artifactId>cos</artifactId>
     <version>Nov2004patch</version>
   </dependency>
 </dependencies>

Adding the missing artifacts

These artifacts are not yet in the global Maven repository, so you have to create them manually in your local Maven repository:

  • base64
  • fedora-client
  • cos

To do so, get the JARs in the local directory and type in the command prompt:

TODO - if you need it, just adapt what is described for Fedora 3.x below, and please contribute it back here :-)

Fedora 3.x

Dependencies

You can develop a Fedora client (that will use the APIs) if you add these dependencies to your POM:

<dependencies>
<dependency>
	<groupId>fedora</groupId>
	<artifactId>fedora-client</artifactId>
	<version>3.0b1</version>
</dependency>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring</artifactId>
	<version>2.5.4</version>
</dependency>
<dependency>
	<groupId>axis</groupId>
	<artifactId>axis</artifactId>
	<version>1.3</version>
</dependency>
<dependency>
	<groupId>org.trippi</groupId>
	<artifactId>trippi-core</artifactId>
	<version>1.1.2</version>
</dependency>
<dependency>
	<groupId>jaxrpc</groupId>
	<artifactId>jaxrpc</artifactId>
	<version>unknown</version>
</dependency>
<dependency>
	<groupId>org.jrdf</groupId>
	<artifactId>jrdf</artifactId>
	<version>0.3.3</version>
</dependency>
<dependency>
	<groupId>saaj</groupId>
	<artifactId>saaj</artifactId>
	<version>unknown</version>
</dependency>
<dependencies>

Note: Some of them may not be really needed for your particular client.

Adding the missing artifacts

Copy base64.jar fedora-client.jar jaxrpc.jar jrdf-0.3.3.jar saaj.jar trippi-1.1.2-core.jar from the Fedora 3.0b1 distribution to the local directory. Open a command prompt and type:

mvn install:install-file -Dfile=base64.jar -DgroupId=net.iharder.base64 -DartifactId=base64 -Dversion=unknown -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -Dfile=fedora-client.jar -DgroupId=fedora -DartifactId=fedora-client -Dversion=3.0b1 -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -Dfile=jaxrpc.jar -DgroupId=jaxrpc -DartifactId=jaxrpc -Dversion=unknown -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -Dfile=jrdf-0.3.3.jar -DgroupId=org.jrdf -DartifactId=jrdf -Dversion=0.3.3 -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -Dfile=saaj.jar -DgroupId=saaj -DartifactId=saaj -Dversion=unknown -Dpackaging=jar -DgeneratePom=true
mvn install:install-file -Dfile=trippi-1.1.2-core.jar -DgroupId=org.trippi -DartifactId=trippi-core -Dversion=1.1.2 -Dpackaging=jar -DgeneratePom=true

Note: The version numbers of the following JARs are unknown:

  • base64.jar
  • jaxrpc.jar
  • saaj.jar

The question has been asked on the dev mailing list here with no answer so far.