2010-04-06 8 views
1

개미를 사용하여 만든 jar 파일을 실행하려고합니다. 하지만 jar 파일을 실행하는 동안 라이브러리를 사용할 수없는 이유를 찾을 수 없습니다. Derby 내장 데이터베이스 드라이버를로드하려고하지만 클래스 패스에서 derby.jar을 얻지 못하는 방법이 있습니다. 내가 무엇입니까개미로 항아리를 실행할 때 classpath 오류가 발생했습니다.

오류는이

<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> 

답변

0

manifestclasspath에 jarfile가 매개 변수 파일 이름이 아닌 디렉토리 이름이 필요

[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) 

입니다.

다음 시도 : (파일 이름이 존재하지 않음) 작업이 어떻게 작동하는지

<manifestclasspath property="lib.list" jarfile="${dist.dir}/acme.jar"> 
    <classpath refid="jar.classpath" /> 
</manifestclasspath> 

나의 이해를 당신이 제공하는 jarfile가 이름에 클래스 경로 상대를 생성하는 것입니다

관련 문제