Maven+eclipse+svn项目构建

用maven eclipse:eclipse 导入一个项目的后,如果在pom中加入了新的依赖,eclipse显示没有引入(比如调用依赖的一个类,会提示这个类没有引入),其实依赖已经加入到项目中。解决方法:maven eclipse:clean  然后在maven eclipse:eclipse
maven对大多数人来说应该只是听过而没有真正的了解过,我也今天才找了些资料试验了一下,发现确实对于项目管理来说是一个难得的好工具。简单来 说,maven就是一个基于命令行可以对项目整个生命周期—构建、测试、资源管理、文档、发布等一系列过程,进行管理的工具,之所以强调是命令行是以为对 于一个通用的项目构建工具是不应该依赖于IDE和平台的,和ant是相似的。
    与ant的比较:可以简单的理解为ant的升级换代版本,思想上从ant上完全的脱离出来,少了配置文件,只要安装后运行命令就可以进行构建,配置文件 就只有一个pom.xml,简约并不意味着简单,maven提供了比ant更强大的功能,其中我最中意的就是包的依赖管理机制—当你构建项目 时,maven自动从网站上下载需要的依赖包。maven的功能有待挖掘,运用好了个中好处远远超乎想像。
 
接下来,运用maven+eclipse+svn构建一个示例项目:
1、工具:环境ubuntu7.10
a)mavenhttp://maven.apache.org/download.html
b)M2eclipse--在线安装http://m2eclipse.codehaus.org/update/
c)Eclipse不用说了
d)Subeclipse版本控制的得力工具
e)mylyn不是必须的,任务驱动编程工具
2、安装:
a)maven安装在ubuntu上,直接下载包解压到/opt目录,
设置路径
 sudo gedit /etc/environment
将/opt/maven/bin添加到路径中
path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/maven/bin"
b)安装eclipse的插件

 

3、构建项目:
a)现在我们要构建一个主项目,项目底下有两个子项目
jsf
   |-jsf.core
   |-jsf.web
b)先构建主项目:
工作目录为/home/linq/research/jsf/
mvn archetype:create -DgroupId=linq.jsf -DartifactId=jsf
我们要将这个目录设置为主目录,将生成的src目录删除,修改pom.xml
<packaging>pom</packaging>
c)构建子项目:项目又core核心组件,和web工程组成
i.cd jsf
ii.构建普通java jar项目
iii.mvn archetype:create -DgroupId=linq.jsf.core -DartifactId=jsf-core
iv.构建web项目(注意红色字体)
v.mvn archetype:create -DgroupId=linq.jsf.web -DartifactId=jsf-web -DarchetypeArtifactId=maven-archetype-webapp
d)查看各个项目的pom.xml文件,可以看出各个子项目都在主项目的控制控制下,可以通过主项目发布打包项目
e)创建eclipse项目属性
i.cd jsr-core
ii.mvn eclipse:eclipse
iii.创建eclipse web属性
iv.cd ../jsf-web
v.mvn eclipse:eclipse -DdownloadSource=true -Dwtpversion=1.0
f)使用eclipse import工程
 
g) 可以是使用菜单命令添加依赖包

 
h) 
    查询依赖包,选择后即可以自动将包加载到项目中

 
 
i) 
    使用自带的命令就可以将项目构建发布
注 意事项:由于一些依赖包授权的关系,有些需要手工添加,比如jta的包,需要从sun上下载jta-1_0_1B-classes.zip,然后解压通过 命令mvn install:install-file -Dfile=/home/linq/temp/jta-1_0_1B-classes.zip -DgroupId=javax.transation -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar
创建jta的包到mvn的库中x

  

posted @ 2022-05-11 11:01  风来风往风伤(TiAmo)  阅读(58)  评论(0编辑  收藏  举报