【发布时间】:2010-08-27 21:29:19
【问题描述】:
我正在尝试执行使用 ant 创建的 jar 文件。但我无法找出执行 jar 时库不可用的原因。 我正在尝试加载 derby 嵌入式数据库驱动程序,但有些我没有在类路径中获取 derby.jar。
我得到的错误是
[java] Unable to load the JDBC driver org.apache.derby.jdbc.EmbeddedDriver
[java] Please check your CLASSPATH.
[java] java.lang.ClassNotFoundExcepApplication Started
[java] tion: org.apache.derby.jdbc.EmbeddedDriver
[java] at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
一个
<path id="jar.classpath">
<fileset dir="${lib.dir}" includes="*.jar" />
</path>
<path id="compiled-src.jar.classpath">
<path refid="jar.classpath" />
<pathelement location="${build.classes.dir}" />
</path>
<target name="jar" depends="compile-src" description="Create Jar">
<mkdir dir="${dist.dir}" />
<manifestclasspath property="lib.list" jarfile="${dist.dir}/">
<classpath refid="jar.classpath" />
</manifestclasspath>
<jar destfile="${dist.dir}/${ant.project.name}.jar" basedir="${build.classes.dir}" >
<manifest>
<attribute name="Main-Class" value="${main-class}" />
<attribute name="Class-Path" value="${lib.list}" />
</manifest>
</jar>
</target>
<target name="run" depends="jar" description="Run application from jar">
<java jar="${dist.dir}/${ant.project.name}.jar" fork="true" />
</target>
【问题讨论】: