|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-04-12 关键字: maven2 mvn web开发
一直用Maven作项目构建,Maven用起来比Ant要方便,起初为了不想在ant的构建脚本上多花精力,选择了Maven,但是后来实践证明,选择是正确的,那么是不是把时间精力省下来了呢,事实证明我并没有因为选择了Maven而节省下多少时间,在构建构建工具多花时间精力是值得的,但Maven给我的回报远远超出我的预期。
Maven能做什么?基本上Ant能做的Maven都能作,且很多地方做得更好。为什么这么说呢,不讲理论了,用事实证明!。Struts2,WebWork2,Spring2,Appfuse2等比较有分量的项目都能看到Maven的身影。另他最大的特点是其依赖包管理系统,这个观念不是新观念了,Debian/Ubuntu,Ruby-Gems都采用类似的思想来管理依赖包/库。 熟悉了Maven2的项目配置文件后,可以不写一行构建脚本,仅仅十几行按部就班的依赖包配置,就可以完成一个完整web项目的编译,测试,打包,清理等任务,但如果想要Maven做得更多,follow me... 先从一个最简单的web项目开始,假定这个项目名称就叫做myweb,JDK1.5以上,Linux系统(XP上使用方法是一样的,只不过XP的cmd太烂了,没有Linux的console好用,或者我太菜,用不来XP高深的cmd命令行界面)。 1) 安装Maven,安装过程略,简单的说就跟你装ant一样,官方网站http://maven.apache.org 2) 建立项目骨架,开一个Linux的console命令行窗口,输入以下命令: java 代码
简单解释一下: archetype 是一个内建插件,他的create任务将建立项目骨架 archetypeArtifactId 项目骨架的类型 可用项目骨架有: * maven-archetype-archetype * maven-archetype-j2ee-simple * maven-archetype-mojo * maven-archetype-portlet * maven-archetype-profiles (currently under development) * maven-archetype-quickstart * maven-archetype-simple (currently under development) * maven-archetype-site * maven-archetype-site-simple, and * maven-archetype-webapp groupId 项目的java包结构,可修改 artifactId 项目的名称,生成的项目目录也是这个名字,可修改 在当前目录下会生成一个myweb文件夹,这个文件就是我们的项目文件夹了 3) 补全项目的目录结构,因为生成的项目骨架是个webapp最小化骨架结构,与Maven的标准项目布局还有差距, Maven标准项目布局结构见http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html 其实就是要自己手动建立几个目录而已,下面一条命令全部搞定 java 代码
4) 添加一个嵌入式servlet/jsp容器jetty6,用nio重写过的嵌入式服务器,开发和调试web项目非常方便,这里需要编辑唯一的配置文件pom.xml,其实并不难 xml 代码
5) 运行测试 java 代码
Jetty6已经启动并显示了经典到掉渣的“Hello World!” 现在可以修改src/main/webapp/index.jsp,然后在浏览器刷新看效果了,最简单的web骨架就这样诞生了 停止jetty6的命令是Ctrl+C 之后,可以在pom.xml中添加spring,hibernate/ibatis,struts/struts2/webwork2以及report,xdoclet,hibernate代码生成工具,DbUnit等等...(今天写道这里,以后在写吧) 推荐两篇文章: http://www.blogjava.net/calvin/archive/2006/03/19/36098.html http://www.ibm.com/developerworks/cn/opensource/os-maven2/ 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-08-22
恩,您写的很不错,但我个问题想问您:
我在用MAVEN命令创建项目时总是报BUILD ERROR错: The pulgin 'org.apache.maven.plugins:maven-archetype-plugin' does not exist or valid version could be found 但我的MAVEN确实配置成功了,JDK什么都配了,这是为什么呢?谢谢!~ |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-23
还有这个问题
http://www.javaeye.com/my_topic/115389 1. D:\cfly\workspace\profile>mvn jetty:run 2. [INFO] Scanning for projects... 3. [INFO] Searching repository for plugin with prefix: 'jetty'. 4. [INFO] ------------------------------------------------------------------------ 5. [ERROR] BUILD ERROR 6. [INFO] ------------------------------------------------------------------------ 7. [INFO] The plugin 'org.apache.maven.plugins:maven-jetty-plugin' does not exist or no valid version could be found 8. [INFO] ------------------------------------------------------------------------ 9. [INFO] For more information, run Maven with the -e switch 10. [INFO] ------------------------------------------------------------------------ 11. [INFO] Total time: < 1 second 12. [INFO] Finished at: Wed Aug 22 23:40:55 CST 2007 13. [INFO] Final Memory: 1M/4M 14. [INFO] ------------------------------------------------------------------------ |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-23
To kayzhan: Delete the directory ~/.m2/repository, and try again. On Windows, that would be C:\Documents and Settings\username\.m2\repository.
to cly:Have you config the jetty-plugin in the pom.xml's bulid element? I think maven will not download it automatically if you didn't config it |
|
| 返回顶楼 | |
|
最后更新时间:2007-08-27
To kayzhan:
seems the remote repo site missed the 1.05 snapshot jar file.you need to change the pom.xml manually. |
|
| 返回顶楼 | |
|
最后更新时间:2007-09-10
TO:remy 真是抱歉!~这段日子都没来,我把 C:\Documents and Settings\username\.m2\repository删了,试了,还是报一样的错。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-09-10
To:teclogid:很抱歉,我实在不太明白您的意思,我根本就办法创建成功项目,怎么去改pom.xml文件呢?还是我理解错了您的意思。请大家能再帮忙想想办法吗,这问题已经困扰我一两个月了。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-09-10
kayzhan 写道 TO:remy 真是抱歉!~这段日子都没来,我把 C:\Documents and Settings\username\.m2\repository删了,试了,还是报一样的错。
首先,你能保证你的maven安装成功了么?可以试着run下mvn -version 然后,在.m2目录下,应该有个setting.xml file the content: <?xml version="1.0" encoding="UTF-8"?> <settings> <localRepository>C:\Documents and Settings\remy.wang\.m2\repository</localRepository> <mirrors> <mirror> <mirrorOf></mirrorOf> <url></url> <id></id> <name></name> </mirror> </mirrors> </settings> 如果还不行,删掉所有的,重新装下maven, |
|
| 返回顶楼 | |
|
最后更新时间:2007-09-10
我是配置的maven2,mvn -v是可以出来版本2.6的,我已经重新配置了好几次,试了3个版本,从4到6。但还是不行,不知道是否跟我使用的代理服务器有关,但我不知道怎么设代理服务器,在网上查的资料也没有具体写清楚怎样设代理的。
<proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>proxyuser</username> <password>proxypass</password> <host>proxy.host.net</host> <port>8080</port> <nonProxyHosts>local.net,some.host.com</nonProxyHosts> </proxy> 我不知道username和password到底指的是什么!您能告诉我吗? |
|
| 返回顶楼 | |
|
最后更新时间:2007-09-11
差不多可以确定你是因为用了代理导致你的maven不能连接网络,setting.xml文件正是用来配置代理的
你用代理上网的时候,username 和password正是代理服务器提供给你的验证信息,你应该知道的 你既然能上网,证明你已经用了这个用户名和密码 这篇文章可以帮助你设置,也是javaeye上的 http://freeman983.javaeye.com/blog/112571 kayzhan 写道 我是配置的maven2,mvn -v是可以出来版本2.6的,我已经重新配置了好几次,试了3个版本,从4到6。但还是不行,不知道是否跟我使用的代理服务器有关,但我不知道怎么设代理服务器,在网上查的资料也没有具体写清楚怎样设代理的。
<proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>proxyuser</username> <password>proxypass</password> <host>proxy.host.net</host> <port>8080</port> <nonProxyHosts>local.net,some.host.com</nonProxyHosts> </proxy> 我不知道username和password到底指的是什么!您能告诉我吗? |
|
| 返回顶楼 | |





