Java ANT : Issues with build.xml -


i wondering if me serious issue... need create jar project using lot of dependencies... problem : build.xml file wrote own hand not working. more runs without problem, warning :

buildfile: c:\users\alexis fasquel\workspace\firsteditserver\build.xml clean:    [delete] deleting directory c:\users\alexis fasquel\workspace\firsteditserver\bin    [delete] deleting directory c:\users\alexis fasquel\workspace\firsteditserver\dist makedir:     [mkdir] created dir: c:\users\alexis fasquel\workspace\firsteditserver\bin     [mkdir] created dir: c:\users\alexis fasquel\workspace\firsteditserver\dist compile:     [javac] c:\users\alexis fasquel\workspace\firsteditserver\build.xml:101: warning: 'includeantruntime' not set, defaulting build.sysclasspath=last; set false repeatable builds     [javac] compiling 14 source files c:\users\alexis fasquel\workspace\firsteditserver\bin jar:       [jar] building jar: c:\users\alexis fasquel\workspace\firsteditserver\dist\firsteditserver.jar main: build successful total time: 1 second 

**

but unfortunately still classnotfounddeferror

i didn't print full trace because it's first class tried instanciate not found... i'm guessing nothing's working... here :

exception in thread "main" java.lang.noclassdeffounderror: gate/util/gateexcept on         @ java.lang.class.getdeclaredmethods0(native method)         @ java.lang.class.privategetdeclaredmethods(unknown source)         @ java.lang.class.getmethod0(unknown source)         @ java.lang.class.getmethod(unknown source)         @ sun.launcher.launcherhelper.getmainmethod(unknown source)         @ sun.launcher.launcherhelper.checkandloadmain(unknown source) caused by: java.lang.classnotfoundexception: gate.util.gateexception         @ java.net.urlclassloader$1.run(unknown source)         @ java.net.urlclassloader$1.run(unknown source)         @ java.security.accesscontroller.doprivileged(native method)         @ java.net.urlclassloader.findclass(unknown source)         @ java.lang.classloader.loadclass(unknown source)         @ sun.misc.launcher$appclassloader.loadclass(unknown source)         @ java.lang.classloader.loadclass(unknown source)         ... 6 more 

**

there build.xml file... take @ it, , maybe find what's error ?

ps: yes, know it's not easy find cause little information, please try to, it's urgent -_-

<path id="bin.classpath">     <fileset dir="${virtuoso.dir}">         <include name="openrdf-sesame-2.6.5-onejar.jar" />         <include name="slf4j-api-1.5.0.jar" />         <include name="slf4j-jdk14-1.5.0.jar" />         <include name="virt_sesame2.jar" />         <include name="virtjdbc3.jar" />     </fileset>      <fileset dir="${gate.dir}">         <include name="plugins\gazetteer_lkb\gazetteer_lkb.jar" />         <include name="lib\gate.jar" />         <include name="lib\log4j.jar" />         <include name="lib\commons-io.jar" />         <include name="plugins\tagger_framework\taggerframework.jar" />         <include name="lib\ant-contrib.jar" />         <include name="lib\ant-launcher.jar" />         <include name="lib\ant.jar" />         <include name="lib\aopalliance.jar" />         <include name="lib\apache-mime4j-core.jar" />         <include name="lib\apache-mime4j-dom.jar" />         <include name="lib\bcmail-jdk15.jar" />         <include name="lib\bcprov-jdk15.jar" />         <include name="lib\commons-codec.jar" />         <include name="lib\commons-compress.jar" />         <include name="lib\commons-lang.jar" />         <include name="lib\commons-logging.jar" />         <include name="lib\dom4j.jar" />         <include name="lib\fontbox.jar" />         <include name="lib\gate-asm.jar" />         <include name="lib\gate-compiler-jdt.jar" />         <include name="lib\lucene-core.jar" />         <include name="lib\metadata-extractor.jar" />         <include name="lib\nekohtml.jar" />         <include name="lib\pdfbox.jar" />         <include name="lib\poi-ooxml-schemas.jar" />         <include name="lib\poi-ooxml.jar" />         <include name="lib\poi-scratchpad.jar" />         <include name="lib\poi.jar" />         <include name="lib\spring-aop.jar" />         <include name="lib\spring-beans.jar" />         <include name="lib\spring-core.jar" />         <include name="lib\tika-core.jar" />         <include name="lib\tika-parsers.jar" />         <include name="lib\wstx-lgpl.jar" />         <include name="lib\xercesimpl.jar" />         <include name="lib\xmlbeans.jar" />         <include name="lib\xmlunit.jar" />         <include name="lib\xpp3.jar" />         <include name="lib\xstream.jar" />         <include name="lib\ivy.jar" />         <include name="lib\java-getopt.jar" />         <include name="lib\java2html.jar" />         <include name="lib\javacc.jar" />         <include name="lib\jaxen.jar" />         <include name="lib\jdom.jar" />         <include name="lib\jempbox.jar" />         <include name="lib\junit.jar" />         <include name="plugins\gazetteer_lkb\lib\commons-cli-1.1.jar" />         <include name="plugins\gazetteer_lkb\lib\commons-collections-3.2.1.jar" />         <include name="plugins\gazetteer_lkb\lib\commons-httpclient-3.1.jar" />         <include name="plugins\gazetteer_lkb\lib\kim-api-3.0-rc5.jar" />         <include name="plugins\gazetteer_lkb\lib\kim-util-3.0-rc5.jar" />         <include name="plugins\gazetteer_lkb\lib\owlim-lite-4.3.jar" />         <include name="plugins\gazetteer_lkb\lib\trove4j-2.0.2.jar" />         <include name="plugins\gazetteer_lkb\lib\openrdf-sesame-2.6.3-onejar.jar" />         <include name="plugins\gazetteer_lkb\lib\slf4j-api-1.5.11.jar" />         <include name="plugins\gazetteer_lkb\lib\slf4j-log4j12-1.5.11.jar" />     </fileset>      <fileset dir="${recommendation.dir}">         <include name="simmetrics_jar_v1_6_2_d07_02_07.jar" />     </fileset> </path>  <!-- deletes existing bin, docs , dist directory--> <target name="clean">     <delete dir="${bin.dir}" />     <delete dir="${dist.dir}" /> </target>  <!-- creates  bin , dist directory--> <target name="makedir">     <mkdir dir="${bin.dir}" />     <mkdir dir="${dist.dir}" /> </target>  <!-- compiles java code (including usage of library junit --> <target name="compile" depends="clean, makedir">     <javac srcdir="${src.dir}" destdir="${bin.dir}" classpathref="bin.classpath">     </javac>  </target>   <!--creates deployable jar file  --> <target name="jar" depends="compile">     <jar destfile="${dist.dir}\firsteditserver.jar" basedir="${bin.dir}">         <manifest>             <attribute name="main-class" value="com.firstedit.main.main" />         </manifest>     </jar> </target>  <target name="main" depends="compile, jar">     <description>main target</description> </target> 

as can see, gateexception in gate.jar...

enter image description here

assuming moment class isn't finding in jar file lib\gate.jar, happening constructing jar (firsteditserver.jar) file source of project , all. in order execute jar, need ensure of jar files in lib... directory in classpath.

now, if intention want single jar file constructed that include classes in library jars have build jar file differently. can't build executable jar (one main-class attribute) includes other jars. standard classloader not inside 1 jar other jar files. need expand library jars classes into final jar.

ant provides support using below. zipgroupfileset task take list of jar files, expand them , include classes target jar. filter out manifest.mf , properties files not collide own (such log4j.properties file in library jar).

this creates single jar contents of lib jars. manifest files collide , last manifest file seen wins.

<jar destfile='${build.dir}/lib-jars.jar'>    <zipgroupfileset dir='${lib.dir}'>      <include name='**/*.jar'/>    </zipgroupfileset> </jar> 

the zipfileset used here single jar can filter out contents 1 jar desired. removes manifest.mf file, remove other files additional exclude tags.

<jar destfile='${jar.file}' basedir='${classes.dir}'>   <zipfileset src='${build.dir}/lib-jars.jar'>     <exclude name="meta-inf/manifest.mf"/>   </zipfileset>   <manifest>     <attribute name="built-by" value="${user.name}"/>     <attribute name="main-class" value="${main.class}"/>     <section name="common">       <attribute name="specification-title" value="${project.title}"/>       <attribute name="specification-version" value="${release.version}"/>       <attribute name="specification-vendor" value="${vendor}"/>       <attribute name="implementation-title" value="${project.title}"/>       <attribute name="implementation-version" value="${release.version} ${today}"/>        <attribute name="implementation-vendor" value="${vendor}"/>     </section>   </manifest>       </jar> 

Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -