Как мне создать апплет, которому нужен внешний jar, используя ant? - PullRequest
1 голос
/ 12 ноября 2009

Я написал Java-апплет, который довольно прост. Он подключается к базе данных оракула после нажатия кнопки. Он работает нормально, он подключается, когда я запускаю его с помощью Eclipse.

Однако, когда я использую ant для создания файла jar, я не знаю, как включить ojdbc6.jar в качестве пути к классам. Как бы я это сделал?

Вот мой файл сборки муравья. Мои внешние сторонние файлы Jar, которые мне нужны, находятся в 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>

Ответы [ 3 ]

2 голосов
/ 12 ноября 2009

Перечислите файлы (jar) в classpath как относительные местоположения (например, просто имя jar), а затем поместите эти jar в тот же каталог, что и апплет. Вы используете апплет в браузере? Или с appletviewer? Если это с браузером, попробуйте установить для свойства archive значение yourapplet.jar,ojdbc6.jar

И вставьте сгенерированный манифест, возможно, с ним что-то не так.

0 голосов
/ 16 ноября 2009

Есть ли еще подпапки в C: / JarFiles? Если это так, то включение в ваш набор файлов должно быть <include name="**/*.jar"/>

0 голосов
/ 12 ноября 2009

Взгляните на это: http://marc.info/?l=ant-user&m=113147888530744&w=2

То, что у вас есть, похоже, но есть некоторые различия, в частности, свойство для каталога, в котором находятся файлы jar, и способ их преобразования в строку classpath.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...