ant 我也下载下来了,环境变量也配好了。apache-ant-1.8.2 目录下没有build.xml这个文件。我不知道 build.xml 这个文件要写在哪里,里面要配什么,还有怎么执行命令。。。?
请知道生成的高手,帮我解决下。。说详细点
我在网上实在是找不到办法了。搜的答案都他吗是一样的。。
10 个解决方案
#1
#2
不就是要把项目打成jar包么, 是普通的java项目吧, 直接用eclipse打成jar包
如果你的项目引用了第三方jar包, 那想把这个也打进你的jar包, 那你的eclipse得装个插件
你搜索下net.sf.fjep.fatjar_0.0.31装到eclipse下的插件包就好了
如果你的项目引用了第三方jar包, 那想把这个也打进你的jar包, 那你的eclipse得装个插件
你搜索下net.sf.fjep.fatjar_0.0.31装到eclipse下的插件包就好了
#3
smslib-v3.5.0.zip(是一个 开发收发短信的包。下载下来是个压缩文件。但项目中用必须要变成JAR包。解压出来我用eclipse 导入项目,是导入不进的,也就是说它不是一个项目。)eclipse下打包我也会。
#4
ant很麻烦的, 一个人领悟估计要花些时间
#5
不太明白你为什么要用ant 来打包,你要打个jar包的话,直接在shell里输入
jar -cvf <jarname>.jar <class-path>
eg.
jar -cvf HelloWorldBean.jar * //在当前路径下把所有文件打包到HelloWorldBean.jar里
ant 里的Task一般就是移动一些文件,生成目录,打包,等等。
jar -cvf <jarname>.jar <class-path>
eg.
jar -cvf HelloWorldBean.jar * //在当前路径下把所有文件打包到HelloWorldBean.jar里
ant 里的Task一般就是移动一些文件,生成目录,打包,等等。
#6
我写过ant脚本。
build文件在哪里无所谓。关键是要把脚本里的路径写对。
你可以解压那个zip。看看里面是什么结构。如果想用eclipse打包的话,即使不是一个eclipse识别的工程我们也可以手动添加.setting文件夹、.project等文件让eclipse识别。
如果想用ant,那就要自己写一个ant脚本了。
这是我写过的一个build脚本。其中<jar jarfile>命令就是打jar包的。
build文件在哪里无所谓。关键是要把脚本里的路径写对。
你可以解压那个zip。看看里面是什么结构。如果想用eclipse打包的话,即使不是一个eclipse识别的工程我们也可以手动添加.setting文件夹、.project等文件让eclipse识别。
如果想用ant,那就要自己写一个ant脚本了。
<?xml version="1.0" encoding="UTF-8"?>
<project name="cservice" default="deploy" basedir=".">
<property name="appName" value="cs"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value=".build"/>
<property name="class.dir" value="${build.dir}/tempClasses"/>
<property name="build.jar.dir" value="${build.dir}/lib"/>
<property name="IFsrc.dir" value="../CService30/CsEjbIF/src" />
<property name="ftIFsrc.dir" value="../CService_FT/CsEjbIF_FT/src" />
<property name="lib.dir" value="web/WEB-INF/lib"/>
<property name="resin.lib.dir" value="lib_j2ee"/>
<property name="if.lib.dir" value="../CService30/CsEjbIF/lib"/>
<property name="ftif.lib.dir" value="../CService_FT/CsEjbIF_FT/lib"/>
<property name="webapps.dir" value="${build.dir}/webapps/cs"/>
<property name="webroot.dir" value="web"/>
<fileset dir="${lib.dir}" id="lib.file">
<include name="**/*.jar"></include>
</fileset>
<path id="IF.classpath">
<pathelement location="${class.dir}/if" />
<fileset dir="${if.lib.dir}" includes="*.jar" />
</path>
<path id="ftIF.classpath">
<pathelement location="${class.dir}/ftif" />
<fileset dir="${ftif.lib.dir}" includes="*.jar" />
</path>
<path id="common.classpath">
<pathelement location="${class.dir}/common"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<path id="cservice.classpath">
<pathelement location="${class.dir}/cservice"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<path id="sys.classpath">
<pathelement location="${class.dir}/sys"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<path id="cs.classpath">
<pathelement location="${class.dir}/cs"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<path id="secondIn.classpath">
<pathelement location="${class.dir}/secondIn"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<target name="prepare">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.jar.dir}"/>
<mkdir dir="${webapps.dir}"/>
<mkdir dir="${class.dir}"/>
<mkdir dir="${class.dir}/if"/>
<mkdir dir="${class.dir}/ftif"/>
</target>
<target name="compile" depends="prepare" description="Compile All Java Source">
<javac srcdir="${IFsrc.dir}" destdir="${class.dir}/if" debug="true" encoding="utf-8">
<classpath refid="IF.classpath" />
</javac>
<jar jarfile="${build.jar.dir}/cs-if.jar" basedir="${class.dir}/if" includes="**" excludes="build.xml"/>
<javac srcdir="${ftIFsrc.dir}" destdir="${class.dir}/ftif" debug="true" encoding="utf-8">
<classpath refid="IF.classpath" />
</javac>
<jar jarfile="${build.jar.dir}/cs_ft-if.jar" basedir="${class.dir}/ftif" includes="**" excludes="build.xml"/>
<javac srcdir="${src.dir}/common" destdir="${class.dir}" debug="true">
<classpath refid="common.classpath"/>
</javac>
<javac srcdir="${src.dir}/sys" destdir="${class.dir}" debug="true">
<classpath refid="sys.classpath"/>
</javac>
<javac srcdir="${src.dir}/cservice" destdir="${class.dir}" debug="true">
<classpath refid="cservice.classpath"/>
</javac>
<javac srcdir="${src.dir}/cs" destdir="${class.dir}" debug="true">
<classpath refid="cs.classpath"/>
</javac>
<javac srcdir="${src.dir}/secondIn" destdir="${class.dir}" debug="true" encoding="utf-8">
<classpath refid="secondIn.classpath"/>
</javac>
</target>
<target name="deploy" depends="compile" description="Deploy">
<copy todir="${webapps.dir}">
<fileset dir="${webroot.dir}">
<include name="**/*.*"></include>
</fileset>
</copy>
<delete dir="${webapps.dir}/WEB-INF/classes"/>
<mkdir dir="${webapps.dir}/WEB-INF/classes"/>
<copy todir="${webapps.dir}/WEB-INF/classes">
<fileset dir="${src.dir}/config">
<include name="**/*.*"></include>
</fileset>
</copy>
<delete dir="${webapps.dir}/WEB-INF/tmp" />
<delete dir="${webapps.dir}/WEB-INF/work" />
<delete dir="${webapps.dir}/WEB-INF/lib"/>
<mkdir dir="${webapps.dir}/WEB-INF/lib"/>
<copy todir="${webapps.dir}/WEB-INF/lib">
<fileset dir="${lib.dir}" includes="*.jar"/>
<fileset dir="${build.jar.dir}" includes="*.jar"></fileset>
</copy>
<copy todir="${webapps.dir}/WEB-INF/classes">
<fileset dir="${class.dir}">
<include name="**/*.*"/>
</fileset>
</copy>
<delete dir="${class.dir}"/>
<copy todir="${build.dir}">
<fileset dir="${webapps.dir}"/>
</copy>
<delete dir="${build.dir}/WEB-INF/classes/if"/>
<delete dir="${build.dir}/WEB-INF/classes/ftif"/>
<delete dir="${build.jar.dir}"/>
<delete dir="${build.dir}/webapps"/>
</target>
</project>
这是我写过的一个build脚本。其中<jar jarfile>命令就是打jar包的。
#7
我这个脚本是放在项目的根目录下的。所有用的是相对路径。
#8
你需要先学习ant的基本知识,如果你有linux/unix下编译的经验,把这个ant看成Java领域里的build程序即可
#9
请问写了脚本后。用什么执行,怎么执行?
#10
要打个jar包的话,直接在shell里输入
jar -cvf <jarname>.jar <class-path>
eg.
jar -cvf HelloWorldBean.jar * //在当前路径下把所有文件打包到HelloWorldBean.jar里。
这个shell 是什么 jarname 指什么?class-path 指什么?我要打包的文件写哪里?
#1
#2
不就是要把项目打成jar包么, 是普通的java项目吧, 直接用eclipse打成jar包
如果你的项目引用了第三方jar包, 那想把这个也打进你的jar包, 那你的eclipse得装个插件
你搜索下net.sf.fjep.fatjar_0.0.31装到eclipse下的插件包就好了
如果你的项目引用了第三方jar包, 那想把这个也打进你的jar包, 那你的eclipse得装个插件
你搜索下net.sf.fjep.fatjar_0.0.31装到eclipse下的插件包就好了
#3
smslib-v3.5.0.zip(是一个 开发收发短信的包。下载下来是个压缩文件。但项目中用必须要变成JAR包。解压出来我用eclipse 导入项目,是导入不进的,也就是说它不是一个项目。)eclipse下打包我也会。
#4
ant很麻烦的, 一个人领悟估计要花些时间
#5
不太明白你为什么要用ant 来打包,你要打个jar包的话,直接在shell里输入
jar -cvf <jarname>.jar <class-path>
eg.
jar -cvf HelloWorldBean.jar * //在当前路径下把所有文件打包到HelloWorldBean.jar里
ant 里的Task一般就是移动一些文件,生成目录,打包,等等。
jar -cvf <jarname>.jar <class-path>
eg.
jar -cvf HelloWorldBean.jar * //在当前路径下把所有文件打包到HelloWorldBean.jar里
ant 里的Task一般就是移动一些文件,生成目录,打包,等等。
#6
我写过ant脚本。
build文件在哪里无所谓。关键是要把脚本里的路径写对。
你可以解压那个zip。看看里面是什么结构。如果想用eclipse打包的话,即使不是一个eclipse识别的工程我们也可以手动添加.setting文件夹、.project等文件让eclipse识别。
如果想用ant,那就要自己写一个ant脚本了。
这是我写过的一个build脚本。其中<jar jarfile>命令就是打jar包的。
build文件在哪里无所谓。关键是要把脚本里的路径写对。
你可以解压那个zip。看看里面是什么结构。如果想用eclipse打包的话,即使不是一个eclipse识别的工程我们也可以手动添加.setting文件夹、.project等文件让eclipse识别。
如果想用ant,那就要自己写一个ant脚本了。
<?xml version="1.0" encoding="UTF-8"?>
<project name="cservice" default="deploy" basedir=".">
<property name="appName" value="cs"/>
<property name="src.dir" value="src"/>
<property name="build.dir" value=".build"/>
<property name="class.dir" value="${build.dir}/tempClasses"/>
<property name="build.jar.dir" value="${build.dir}/lib"/>
<property name="IFsrc.dir" value="../CService30/CsEjbIF/src" />
<property name="ftIFsrc.dir" value="../CService_FT/CsEjbIF_FT/src" />
<property name="lib.dir" value="web/WEB-INF/lib"/>
<property name="resin.lib.dir" value="lib_j2ee"/>
<property name="if.lib.dir" value="../CService30/CsEjbIF/lib"/>
<property name="ftif.lib.dir" value="../CService_FT/CsEjbIF_FT/lib"/>
<property name="webapps.dir" value="${build.dir}/webapps/cs"/>
<property name="webroot.dir" value="web"/>
<fileset dir="${lib.dir}" id="lib.file">
<include name="**/*.jar"></include>
</fileset>
<path id="IF.classpath">
<pathelement location="${class.dir}/if" />
<fileset dir="${if.lib.dir}" includes="*.jar" />
</path>
<path id="ftIF.classpath">
<pathelement location="${class.dir}/ftif" />
<fileset dir="${ftif.lib.dir}" includes="*.jar" />
</path>
<path id="common.classpath">
<pathelement location="${class.dir}/common"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<path id="cservice.classpath">
<pathelement location="${class.dir}/cservice"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<path id="sys.classpath">
<pathelement location="${class.dir}/sys"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<path id="cs.classpath">
<pathelement location="${class.dir}/cs"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<path id="secondIn.classpath">
<pathelement location="${class.dir}/secondIn"/>
<fileset refid="lib.file" />
<fileset dir="${resin.lib.dir}" includes="*.jar"/>
</path>
<target name="prepare">
<delete dir="${build.dir}" />
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.jar.dir}"/>
<mkdir dir="${webapps.dir}"/>
<mkdir dir="${class.dir}"/>
<mkdir dir="${class.dir}/if"/>
<mkdir dir="${class.dir}/ftif"/>
</target>
<target name="compile" depends="prepare" description="Compile All Java Source">
<javac srcdir="${IFsrc.dir}" destdir="${class.dir}/if" debug="true" encoding="utf-8">
<classpath refid="IF.classpath" />
</javac>
<jar jarfile="${build.jar.dir}/cs-if.jar" basedir="${class.dir}/if" includes="**" excludes="build.xml"/>
<javac srcdir="${ftIFsrc.dir}" destdir="${class.dir}/ftif" debug="true" encoding="utf-8">
<classpath refid="IF.classpath" />
</javac>
<jar jarfile="${build.jar.dir}/cs_ft-if.jar" basedir="${class.dir}/ftif" includes="**" excludes="build.xml"/>
<javac srcdir="${src.dir}/common" destdir="${class.dir}" debug="true">
<classpath refid="common.classpath"/>
</javac>
<javac srcdir="${src.dir}/sys" destdir="${class.dir}" debug="true">
<classpath refid="sys.classpath"/>
</javac>
<javac srcdir="${src.dir}/cservice" destdir="${class.dir}" debug="true">
<classpath refid="cservice.classpath"/>
</javac>
<javac srcdir="${src.dir}/cs" destdir="${class.dir}" debug="true">
<classpath refid="cs.classpath"/>
</javac>
<javac srcdir="${src.dir}/secondIn" destdir="${class.dir}" debug="true" encoding="utf-8">
<classpath refid="secondIn.classpath"/>
</javac>
</target>
<target name="deploy" depends="compile" description="Deploy">
<copy todir="${webapps.dir}">
<fileset dir="${webroot.dir}">
<include name="**/*.*"></include>
</fileset>
</copy>
<delete dir="${webapps.dir}/WEB-INF/classes"/>
<mkdir dir="${webapps.dir}/WEB-INF/classes"/>
<copy todir="${webapps.dir}/WEB-INF/classes">
<fileset dir="${src.dir}/config">
<include name="**/*.*"></include>
</fileset>
</copy>
<delete dir="${webapps.dir}/WEB-INF/tmp" />
<delete dir="${webapps.dir}/WEB-INF/work" />
<delete dir="${webapps.dir}/WEB-INF/lib"/>
<mkdir dir="${webapps.dir}/WEB-INF/lib"/>
<copy todir="${webapps.dir}/WEB-INF/lib">
<fileset dir="${lib.dir}" includes="*.jar"/>
<fileset dir="${build.jar.dir}" includes="*.jar"></fileset>
</copy>
<copy todir="${webapps.dir}/WEB-INF/classes">
<fileset dir="${class.dir}">
<include name="**/*.*"/>
</fileset>
</copy>
<delete dir="${class.dir}"/>
<copy todir="${build.dir}">
<fileset dir="${webapps.dir}"/>
</copy>
<delete dir="${build.dir}/WEB-INF/classes/if"/>
<delete dir="${build.dir}/WEB-INF/classes/ftif"/>
<delete dir="${build.jar.dir}"/>
<delete dir="${build.dir}/webapps"/>
</target>
</project>
这是我写过的一个build脚本。其中<jar jarfile>命令就是打jar包的。
#7
我这个脚本是放在项目的根目录下的。所有用的是相对路径。
#8
你需要先学习ant的基本知识,如果你有linux/unix下编译的经验,把这个ant看成Java领域里的build程序即可
#9
请问写了脚本后。用什么执行,怎么执行?
#10
要打个jar包的话,直接在shell里输入
jar -cvf <jarname>.jar <class-path>
eg.
jar -cvf HelloWorldBean.jar * //在当前路径下把所有文件打包到HelloWorldBean.jar里。
这个shell 是什么 jarname 指什么?class-path 指什么?我要打包的文件写哪里?