java - compiling ant build and running jar -
hi i'm trying create ant build can run command prompt. when run jar file containing main method this:
exception in thread "main" java.lang.noclassdeffounderror: com/fmd/raptorurls/raptorurls caused by: java.lang.classnotfoundexception: com.fmd.raptorurls.raptorurls @ 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) @ java.lang.classloader.loadclassinternal(unknown source) not find main class: com.fmd.raptorurls.raptorurls. program exit.
here ant build:
<?xml version="1.0"?> <project name="raptorurlcheck" basedir="." default="cleandistfiles"> <tstamp> <format property="currentyear" pattern="yyyy" /> </tstamp> <!-- =================================================================== --> <!-- global properties - define in build.properties --> <!-- =================================================================== --> <property file="build.properties" /> <!-- =================================================================== --> <!-- paths --> <!-- =================================================================== --> <path id="runtime-libs"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> </path> <path id="manifest-classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> </path> <manifestclasspath property="jar.classpath" jarfile="${lib.dir}/${project.name}.jar" > <classpath refid="manifest-classpath" /> </manifestclasspath> <target name="clean" > <echo>***** deleting files ${project.name} *****</echo> <delete failonerror="false" dir="${bin.dir}" /> <delete failonerror="false" dir="${dist.dir}" /> <delete failonerror="false" dir="${log.dir}" /> <delete failonerror="false" dir="${conf.dir}" /> </target> <target name="init" depends="clean"> <echo>***** creating required directories ${project.name} build *****</echo> <tstamp /> <mkdir dir="${bin.dir}" /> <mkdir dir="${dist.dir}" /> <mkdir dir="${log.dir}" /> <mkdir dir="${conf.dir}" /> </target> <target name="compile" depends="init" > <echo>***** compiling source files ${project.name} *****</echo> <!--this javac compiles java/src directory--> <javac srcdir="${src.dir}" includeantruntime="false" destdir="${bin.dir}" debug="on" debuglevel="lines,var,source"> <include name="**/*.java" /> <classpath refid="runtime-libs" /> </javac> <copy todir="${bin.dir}"> <fileset dir="${src.dir}"> <include name="**/*.html" /> <include name="**/*.css" /> </fileset> <fileset dir="${config.dir}"> <include name="*-.xml" /> <include name="*.xsd" /> <include name="*.properties" /> </fileset> </copy> </target> <target name="jar" depends="compile" description="packages app jar" > <echo>***** creating jar distribution ${project.name} *****</echo> <jar destfile="${lib.dir}/${project.name}.jar"> <manifest> <attribute name="class-path" value="${jar.classpath}" /> <attribute name="built-by" value="${user.name}" /> <attribute name="main-class" value="${main.class}" /> </manifest> <fileset dir="${bin.dir}"> <include name="**/*.class*" /> <include name="**/*.xml" /> <include name="**/*.html" /> <include name="**/*.css" /> <include name="**/*.properties" /> </fileset> <fileset dir="${config.dir}"> <include name="**/*.xml" /> <include name="**/*.xsd" /> </fileset> </jar> </target> <target name="copydistfiles" depends="jar"> <echo>***** copying distribution files ${project.name} *****</echo> <mkdir dir="${dist.dir.lib}" /> <mkdir dir="${dist.dir.conf}" /> <mkdir dir="${dist.dir.log}" /> <copy todir="${dist.dir.lib}"> <fileset dir="${lib.dir}" excludes="*.db" /> </copy> <copy todir="${dist.dir.conf}"> <fileset dir="${conf.dir}" /> </copy> </target> <target name="zip" depends="copydistfiles"> <echo>***** zipping distribution files ${project.name} *****</echo> <zip destfile="./linux_5.5_${project.name}.zip" basedir="${dist.dir}" excludes="*.db" /> </target> <target name="cleandistfiles" depends="zip"> <echo>***** deleting distribution files ${project.name} *****</echo> <delete dir="${dist.dir}/lib" /> <delete dir="${dist.dir.conf}" /> <delete dir="${dist.dir}/log" /> </target> </project>
and here build properties:
project.name=${ant.project.name} app.dir=${basedir} src.dir=${basedir}/src lib.dir=${basedir}/lib log.dir=${basedir}/logs conf.dir=${basedir}/config bin.dir=./bin bin.dir.lib=${bin.dir}/lib dist.dir=./dist dist.dir.conf=${dist.dir}/config dist.dir.lib=${dist.dir}/lib dist.dir.log=${dist.dir}/logs main.class=com.fmd.raptorurls.raptorurls spring.config.dir=./lib config.dir=./config/ all.config.dir=./apps/fps/raptorurls/config build_env=all
don't know doing wrong. i'm using spring
a noclassdeffounderror
(distinct classnotfoundexception
) may indicate a number of things. start, guess when execute main class, dependency missing. check runtime classpath. libs need present?
Comments
Post a Comment