发表于: 2018-03-02 23:47:36
1 597
今天完成的事情:
1.本地安装ant,建立build.xml文件,用ant将一个输出helloworld的java程序打包。
a.在地址http://ant.apache.org/bindownload.cgi,下载ant的.tar.gz文件,解压的到e盘。配置环境变量ANT_HOME=E:\apache-ant-1.10.2,PATH=E:\apache-ant-1.10.2\bin。这里了解一些这些环境变量的区别。安装使用ant.
这里学习path和classpath的区别。
(Windows下PATH,CLASSPATH等环境变量详解 http://blog.csdn.net/wf131410000/article/details/72618752)
PATH环境变量中存放的值,就是一连串可执行文件的路径。不同的路径之间,用英文的分号(;)分隔开。系统执行用户命令时,其实运行是就是某个可执行文件。
若用户未给出这个可执行文件的绝对路径,则首先在当前目录下寻找相应的可执行文件、批处理文件(另外一种可以执行的文件)等。若找不到,再依次在PATH保存的这些路径中寻找相应的可执行的程序文件。系统就以第一次找到的为准;若搜寻完PATH保存的所有路径都未找到,则会显示类似于图一的错误信息。
classpath是javac编译器的一个环境变量。它的作用是指定类搜索路径。
b.命令行输入ant -v会提示
Apache Ant(TM) version 1.10.2 compiled on February 3 2018
Trying the default build file: build.xml
Buildfile: build.xml does not exist!
Build failed
出现 Buildfile: build.xml does not exist! Build failed是因为ant默认运行build.xml文件,这个文件需要我们创建。
新建一个build.xml文件,内容拿教程里的改的。
c.运行build文件中的命令。
使用ant init compile时提示没有srcdir,而且从提示中可以看到src需要建在和build.xml同一个文件夹中。同时这里可以看到,执行compile是init也运行了,这是因为在build.xml中的target标签定义了depends="init",所以执行compile就需要执行,否则ant是不执行的。建好后,运行compile成功。
ant中可以自由定义执行命令的名字,这也从反面体现了maven的约定高于配置。我这里将“init”改为了“初始化”同时“compile”中的depends也改为depends="初始化",不如运行时会先检查build文件是否规范,会报错。
2.maven的生命周期,项目对象模型和约定,于ant对比是相当突出的有点,极大的简化了项目开发的工作量,缩短了开发时间。因为maven默认管理一个项目对象模型,从一无所有到最后的产品,它规范里一整套流程,或者是生命周期。所以当使用maven开发项目时,只要遵守约定把文件放在该放的位置,那么maven就会执行已经封装好的命令,所以在外在来看,可能maven比ant少很多,实际上是maven将它们隐藏起来了,改执行的步骤一个也不会少。
明天的计划:
服务器中导入本地数据库,mybatis和spring整合mybatis的jar包导入到服务器上跑通。
遇到的问题:
Windows的命令行执行jar包的命令没有解决,
收获:
了解了ant的简单操作,不过这个在以后的工作中是用不到了,现在只是体会一下它和maven的差别。maven的依赖管理和约定优于配置,以及提供的项目对象模型大大的减少了开发项目的工作量,提高了效率。
评论