`
晃点大尾巴狼
  • 浏览: 75054 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

archetype项目骨架-转载

阅读更多
一直用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 代码
mvn archetype:create \  
-DgroupId=com.mycompany.webapp \  
-DartifactId=myweb \  
-DarchetypeArtifactId=maven-archetype-webapp  

简单解释一下:
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 代码
mkdir -p src/{main/java/com/mycompany/webapp,test/java/com/mycompany/webapp,test/resources}  

4)  添加一个嵌入式servlet/jsp容器jetty6,用nio重写过的嵌入式服务器,开发和调试web项目非常方便,这里需要编辑唯一的配置文件pom.xml,其实并不难

xml 代码

< project   xmlns = "http://maven.apache.org/POM/4.0.0"   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"   
  xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd" >   
  < modelVersion > 4.0.0 modelVersion >   
  < groupId > com.mycompany.webapp groupId >   
  < artifactId > myweb artifactId >   
  < packaging > war packaging >   
  < version > 1.0-SNAPSHOT version >   
  < name > myweb Maven Webapp name >   
  < url > http://maven.apache.org url >   
  < dependencies >   
    < dependency >   
      < groupId > junit groupId >   
      < artifactId > junit artifactId >   
      < version > 3.8.1 version >   
      < scope > test scope >   
    dependency >   
  dependencies >   
  < build >   
    < finalName > myweb finalName >  

   

    < plugins >   
      < plugin >   
        < groupId > org.mortbay.jetty groupId >   
        < artifactId > maven-jetty-plugin artifactId >   
      plugin >   
    plugins >  

   

  build >   
project >   

5)  运行测试

java 代码
mvn jetty:run  
在网络正常联通的情况下,maven会自动下载所有的jar依赖包,然后启动jetty6,可以在浏览器中访问http://localhost:8080/myweb/
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/



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/liuzhenwen/archive/2009/06/29/4307257.aspx
分享到:
评论

相关推荐

    maven-archetype-quickstart-1.1.jar包下载

    `maven-archetype-quickstart-1.1.jar` 是一个Maven的快速启动 archetype 包,专门用于帮助开发者快速创建一个新的Maven项目结构。在这个压缩包中,你将找到一个预设的Java项目模板,以便于你能够迅速地开始编码。 ...

    maven-archetype-webapp-1.0.jar

    新建maven项目失败,不能下载maven-archetype-webapp-1.0.jar包

    maven-archetype-quickstart-1.1.jar下载

    解决Unable to create project from archetype [org.apache.maven.archetypes:maven-archetype-quickstart:1.1] 1. 下载maven-archetype-quickstart-1.1.jar 文件地址: 2.cmd窗口执行mvn install:install-file -...

    maven-archetype-webapp-1.0.jar下载

    2. **创建项目**:在命令行中,使用`mvn archetype:generate`命令,并指定对应的archetype id,如`maven-archetype-webapp`,然后按照提示输入项目信息,如groupId、artifactId和version。 3. **编译与运行**:生成...

    新建maven项目失败需要的jar包,maven-archetype-quickstart-1.1.jar

    Archetypes是预定义的项目骨架,它们包含了项目的初始目录结构、基本文件和元数据。`maven-archetype-quickstart-1.1.jar`就是一个这样的Archetype,专为快速启动Java Maven项目设计。 `maven-archetype-quickstart...

    maven-archetype-webapp-1.4

    更新了配置jdk1.8,web.xml为4.0

    maven-archetype-quickstart-1.4.jar.zip

    这个模板是Maven提供的基础项目骨架,方便开发者快速搭建新项目,特别是对于初学者,它极大地简化了项目初始化的步骤。 Maven的 Archetypes 是预定义的项目模板,它们包含了特定类型应用的基本目录结构和必要的配置...

    maven-archetype-quickstart-1.1.jar.zip

    【在本地库中装载maven-archetype-quickstart】 1. 下载该文件 2. 打开cmd窗口,执行mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -...

    cometd-archetype-spring-dojo-jetty7-2.8.0-RC1.zip

    【标题】"cometd-archetype-spring-dojo-jetty7-2.8.0-RC1.zip" 提供的是一个开源项目构建模版,主要用于创建基于CometD、Spring、Dojo以及Jetty 7的应用。这个压缩包的核心是帮助开发者快速搭建一个实时Web应用,...

    maven-archetype-quickstart-1.1.zip

    1. **archetype-descriptor**: 这个目录下的文件定义了archetype的元数据,如项目结构和变量,使得Maven知道如何生成新的项目。 2. **src**: 这里包含了archetype的源代码模板,包括主程序的Java类、测试类,以及...

    maven-archetype-3.1.2-source-release.zip

    2. 使用archetype:generate命令:通过执行`mvn archetype:generate`命令,开发者可以基于maven-archetype-3.1.2创建新项目,输入相应的ID和属性值,即可自动生成符合规范的新项目结构。 三、依赖管理和插件配置 1....

    robotframework-archetype-quickstart-1.0.1.zip

    "robotframework-archetype-quickstart"正是这样一个用于Robot Framework的archetype,它能帮助我们构建一个标准的、适用于Robot Framework的测试项目模板。 当我们解压“robotframework-archetype-quickstart-...

    maven-archetype-quickstart

    1.maven-archetype-quickstart-1.1.jar 用于搭建maven模块项目 2.打开cmd窗口,执行mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -...

    stripes-archetype-quickstart-1.0.jar

    stripes的maven插件,用它可以迅速帮你用maven构建一个stipes工程模版。

    cocoon-22-archetype-block-plain-1.0.0.jar

    jar包,官方版本,自测可用

    archetype-catalog.xml

    在使用maven命令创建maven项目时候执行到Generating Project in Batch mode 卡住,是因为要下载archetype-catalog.xml(4M)文件,可以单独下载后使用-DarchetypeCatalog=local引用本地下载的文件,需要将archetype-...

Global site tag (gtag.js) - Google Analytics