开发者

How do I build an applet which needs an external jar, using ant?

I have wrote a java applet which is pretty simple. It connects to a oracle database upon clicking a button. It works fine, it connects when I run it using Eclipse.

However, when I use ant to create the jar file I don't know how to include the ojdbc6.jar as a classpath. How would I do this?

Here is my ant build file. My external 3rd party Jar files that I need are in C:\JarFiles.

<project default="jar">
  <property name="build" value="build"/>
  <property name="java.home" value="C:\Program Files/Java/jdk1.6.0_10" />
  <property name="project.home" value="C:\Documents and Settings\bmcgeary\workspace\New_Holiday_Editor" />

  <property name="build.home" value="${project.home}/build" />

  <path id="files-classpath">  
    <fileset dir="c:/JarFiles" >  
      <include name="*.jar"/>  
    </fileset>  
  </path>  

  <!-- convert classpath to a flat list/string for use in manifest task -->
  <pathconvert property="files-classpath" pathsep=" ">
    <path refid="files-classpath" />
    <flattenmapper />
  </pathconvert>

  <manifest file="MANIFEST.MF">
    <attribute name="Built-By" value="${manifest.built.by}"/>
    <attribute name="Created-By" value="${manifest.created.by}"/>
    <attribute name="Main-Class" value="${manifest.main.class}"/>
    <attribute name="Implementation-Version" value="${version.number}-b${build.number}"/>   
    <attribute name="Class-Path" value="${files-classpath}" />开发者_运维技巧
  </manifest>

  <target name="compile">
    <javac srcdir="." />
  </target>

  <target name="compileProject" description="compiles project Classes">  
    <echo>compiling the project classes</echo>  
    <javac srcdir="src" destdir=".">  
      <classpath>  
    <path refid="files-classpath" />  
      </classpath>  
    </javac>  
  </target> 

  <target name="jar" depends="compileProject" >
    <jar jarfile="myJar.jar"
     basedir="."
     index="true"
     manifest="MANIFEST.MF" />
  </target>


</project>


List the files (jars) in the classpath as relative locations (simply the name of the jar, for example), and then place those jars in the same directory as the applet. Are you using the applet in browser? Or with appletviewer? If it is with browser, try setting the archive property to yourapplet.jar,ojdbc6.jar

And paste the manifest that has been generated, there might be something wrong with it.


Take a look at this: http://marc.info/?l=ant-user&m=113147888530744&w=2

What you have is similiar but there are some differences, specifically a property for the directory the jars are in, and how those are converted to classpath string.


Are there any more subfolders in C:/JarFiles? If so, the include in your fileset should be <include name="**/*.jar"/>

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜