Search code examples
antoracle11gjdeveloperoracle-soa

Oracle SOA command line Ant build


I'm having some trouble freeing component builds from JDeveloper Studio...

I have a reference to aia.jar set up in JDeveloper, which I can't seem to specify correctly on the Ant command line.

Here's my command line:

ant -f c:\...\jdeveloper\bin\ant-sca-package.xml 
    -D"compositeDir=c:/.../ProcessImpl" 
    -D"compositeName=ProcessImpl" 
    -D"revision=1.0" 
    -D"scac.application.home=c:/.../.adf"

Everything seems to go well at first, until it fails with: package oracle.apps.aia.core.eh.logging does not exist


Solution

  • Here is the solution, for the sake of anyone that has the same issue in future...

    My aia.jar lived in jdeveloper/lib ...

    I had tried the CLASS_PATH environment variable, the -lib <path> option on the ant command line, and even adding to the classpath property in ant-sca-compile.xml - none of which made any difference.

    The aia.jar file apparently HAS to exist in the SCA-INF/lib subdirectory of the project being built. In the end I created a wrapper build.xml file that copies the required dependency to this location and then calls out to ant-sca-package.xml...

    <target name="build">
       <echo>Copy AIA.jar</echo>
       <mkdir dir="${sca-inf.dir}/lib" />
       <copy file="${aia.file}" todir="${sca-inf.dir}/lib"/>
       <echo>Create Package</echo>
       <ant antfile="${script.home}/ant-sca-package.xml" inheritAll="false" target="package">
          <property name="compositeDir" value="${path}/${name}"/>
          <property name="compositeName" value="${name}"/>
          <property name="revision" value="${rev}"/>
          <property name="sca.application.home" value="${adf.dir}"/>
          <property name="scac.application.home" value="${adf.dir}"/>
       </ant> 
    </target>