我写了一个非常简单的java applet。它在单击按钮时连接到oracle数据库。它工作正常,当我使用Eclipse运行它时会连接。
但是,当我使用ant创建jar文件时,我不知道如何将ojdbc6.jar包含为类路径。 我该怎么做?
这是我的ant构建文件。我需要的外部第三方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>
答案 0 :(得分:2)
将类路径中的文件(jar)列为相对位置(例如,jar的名称),然后将这些jar放在与applet相同的目录中。
你在浏览器中使用applet吗?或者用appletviewer?
如果是浏览器,请尝试将archive
属性设置为yourapplet.jar,ojdbc6.jar
并粘贴已生成的清单,可能存在问题。
答案 1 :(得分:0)
看看这个:http://marc.info/?l=ant-user&m=113147888530744&w=2
你所拥有的是类似的但是存在一些差异,特别是jars所在目录的属性,以及它们如何转换为classpath字符串。
答案 2 :(得分:0)
C:/ JarFiles中是否还有其他子文件夹?如果是这样,则文件集中的include应为<include name="**/*.jar"/>