Hi,
We are very happy using use Maven for all our ADF projects. It is too bad, JDeveloper doesn't offer any support :-( so we're really lloking forward. The 'only support' is the ability to import the maven xsd and have code completion with the pom.To run maven goals from JDevel;oper we use ant build files as wrappers for maven goals to run them from JDeveloper.
The ADF libraries are stored in our central repository, managed by Nexus.The hardest challenge was to find all libraries, with version numbers. Too bad with 11g the libraries (dependencies) have changed almost completely :-(
Ciao
Aino
We keep dependencies / jars in the jpr and the pom manually in sync. For the normal adf libs that is normally not an issue,m because they are already in the pom.External libraries, like apache commons-lang we put in a lib directory in the project that is added to subversion (and off course in the pom).
We tried using the maven-jdev-plugin, but since standardized workstation are often not an option, we can't use that (due to the relative dependencies).
By the way, since maven 2.0.9 a new dependency scope is available : import. That allows for a central pom file with all the adf dependencies, that can easily be reused.
Currently I have not yet much experience with 11g. But I expect it not much different from 10g, except that all the libraries have changed :-( .It will take some time to identify them again.
Ciao
Aino
e.g
<properties>
<jdevVersion>10.1.3.3.0</jdevVersion>
<adfVersion>10.1.3.41.57</adfVersion>
<jhsVersion>10.1.3.2.51</jhsVersion>
</properties>
<dependency>
<groupId>com.oracle.bc4j</groupId>
<artifactId>bc4jdatum</artifactId>
<version>${adfVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.oracle.xml</groupId>
<artifactId>xmlparserv2</artifactId>
<version>${jdevVersion}</version>
<scope>provided</scope>
</dependency>
Ciao
Some examples :
<properties>
<jdevVersion>10.1.3.3.0</jdevVersion>
<adfVersion>10.1.3.41.57</adfVersion>
<jhsVersion>10.1.3.2.51</jhsVersion>
</properties>
<dependency>
<groupId>com.oracle.bc4j</groupId>
<artifactId>bc4jdatum</artifactId>
<version>${adfVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.oracle.adf</groupId>
<artifactId>adfbinding</artifactId>
<version>${adfVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.oracle.adf.faces</groupId>
<artifactId>adf-faces-impl</artifactId>
<version>${jdevVersion}</version>
</dependency>
<dependency>
<groupId>com.oracle.jheadstart</groupId>
<artifactId>jhsadfrt</artifactId>
<version>${jhsVersion}</version>
</dependency>
<dependency>
<groupId>com.oracle.xml</groupId>
<artifactId>xmlparserv2</artifactId>
<version>${jdevVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>1.1_02-b08</version>
</dependency>
Hi
The jpr files are 'leading' and added to svn and all dependencies are added manually to the pom file.
External libraries, i.e. not included with JDeveloper are put into a lib directory (project), checked in into svn and added as project libraries .Thus all dependencies are (relative) within the project and not to the local maven repository. This allows non standard workstations and makes sure the correct libs are used. This applies to libraries like common-lang but also imported business component projects.
Thus within JDeveloper you can run the project, no maven involved.The (hourly and) nightly builds, and deployment to the development application server are done via Continuum (soon Hudson) and maven.
Aino
Best Regards,
Salim
We explicitly do not use the local maven repository from JDeveloper, because it introduces workstation dependencies and makes library manangement from a JDeveloper point-of-view less transparent.The only purpose for adding the 'external' libraries to the application (and subversion) is for use in JDeveloper without any workstation dependencies.
Any maven executions will use the standard Maven dependency mechanism and not the libraries in the project. So we must make sure thatthe same libraries are used.
This method is not perfect, but since JDeveloper does not provide any maven support it is in our opinion the most transparent way.
Ciao
Aino