`
wade6
  • 浏览: 274169 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

利用maven创建webx3项目——实现简单的留言板(二)

 
阅读更多

github:https://github.com/wade6/messageboard-webx3

 

创建webx3项目

 

 

      根据webx3的官方网站,www.openwebx.org,找到“创建一个webx应用”,按照上面说的流程,就可以创建一个webx的项目。

 

      具体流程这里就不说了,官网上已经写得很清楚了。下面主要解释一下可能存在疑惑的地方。

 

      创建项目的命令为:

 

-----------------------------------------------------------------------------------------------------

 

mvn archetype:generate \
 -DgroupId=com.alibaba.webx \
 -DartifactId=tutorial1 \
 -Dversion=1.0-SNAPSHOT \
 -Dpackage=com.alibaba.webx.tutorial1 \
 -DarchetypeArtifactId=archetype-webx-quickstart \
 -DarchetypeGroupId=com.alibaba.citrus.sample \
 -DarchetypeVersion=1.0 \
 -DinteractiveMode=false

   

 

项目组(groupId):com.alibaba.webx

项目名称(artifactId):tutorial1

项目版本(version):1.0-SNAPSHOT

项目中Java类的包名(package):com.alibaba.webx.tutorial1

  

官方网站只是给了参数1-4的解释说明,可是并没有说明下面四个参数的作用,原因是下面参数涉及到maven的相关知识,我也是在网上查了查才知道他们的作用。

 

模板的项目名称                                                                                                                
模板的项目组
模板的版本号
项目生成中不使用交互模式

 

-----------------------------------------------------------------------------------------------------

 

        上面罗列的命令和解释你是否看懂了呢,反正我第一次看的时候不是非常明白。所以将创建命令拿出来,就是为了解释一下maven创建项目的那些事:

 

-----------------------------------------------------------------------------------------------------

 

        先来熟悉一个名词:archetype,虽然知道翻译过来的意思是“原型”,但是这个“原型”到底是个什么意思,确实困扰了我好长时间;原来这个“原型”就是“模板”的意思,或许有好多人都知道了,显而易见,但是我就没想到他就是模版的意思~~~

知道了archetype的含义后,上面的创建项目的命令也就很清楚了。

 

        确切的说上面的命令不是“创建项目”,叫“复制项目模板,生成新的项目”比较合适,因为命令执行后生成的目录结构和其中的很多初始文件都是已经存在的,它们以模板(也就是archetype)的形式存在的,刚开始接触maven时以为maven会自动生成这种目录结构还能生成我们开发需要的各种文件~感觉真的很神奇,后来才知道它们是从别的地方下载到本地的(看过《maven权威指南》的大牛们肯定知道这个,只有我这种菜鸟不知道了~晕)。转回正题,既然创建出来的文件夹(模板)是已经存在的,那总有个地方要保存这个模板吧,没错,maven里面有个archetype库的概念,就是存放模版的地方~~

 

        archetype库分为3种类型:1. 缺省库, 2. 用户库, 3. 第三方库。缺省库,很容易理解,就是archetype插件自身就包含的各个archetype,如果你没有指定任何库,缺省库就会其作用,在 archetype插件中使用internal对其进行命名。用户库是指最终用户平时自己使用的库,这个库的文件存放于c://~/.m2/repository, 在archetype插件中通过local对其进行命名。第三方库,也就是以上两者之外的所有库,如存放于本地磁盘的一个目录,远程服务上等。如果公司内部有很多archetype,就可以建一个这样的库,存在服务器上,大家可以进行共享。第三方库中,由于repo1.maven.org是官方支持的,所以有一个别名:remote,用于标识官方的库。

 

        可以通过参数-DarchetypeCatalog来指定生成新项目的模板所在的模板库。

 

        现在如果你想创建一个archetype,首先确定库,然后根据archetype:generate提供的提示进行创建即可。以下是常见的几种方式: 

 

  •                  mvn archetype:generate                                                                                                         调用internal库进行创建 
  •                  mvn archetype:generate -DarchetypeCatalog=local                                                                调用local库进行创建 
  •                  mvn archetype:generate -DarchetypeCatalog=http://www.mvnsearch.org/maven2              调用http://www.mvnsearch.org/maven2/archetype-catalog.xml 提供的库进行创建。 

 

     (对于maven2的archetype插件的一些解释可以参见http://hi.baidu.com/payapple/blog/item/e7f8c60ac6dcb49f0b7b8285.htmlhttp://hehaibo.iteye.com/blog/979145。想系统学习可以参考《maven权威指南》

 

    具体的maven知识后续也会有针对性的学习整理。

 

-----------------------------------------------------------------------------------------------------

 

        现在对于上面创建命令列的那一坨东西应该十分清楚了~

 

-----------------------------------------------------------------------------------------------------

 

 mvn archetype:generate 生成一个工程
-DgroupId=com.alibaba.webx 当前应用程序隶属的Group的ID,通常是公司所有应用程序的根目录,例如:com.alibaba
-DartifactId=tutorial1 项目名称,当前应用程序的ID
-Dversion=1.0-SNAPSHOT  项目的版本

-Dpackage=com.alibaba.webx.tutorial1 项目中java类的包名[ 代码生成时使用的根包的名字,如果没有给出,默认使用archetypeGroupId ]


-DarchetypeArtifactId=archetype-webx-quickstart  项目模板的类型 [模板(archetype)ID ]

-DarchetypeGroupId=com.alibaba.citrus.sample  模板(archetype)的Group ID,

-DarchetypeVersion=1.0 模板的版本

-DinteractiveMode=false  不用进行交互的设置(如果不设置这个参数,控制台回答出一个确认信息,如下图,敲回车就可以了)

 

 

其中前面4个参数与我们创建的应用相关,后面四个参数指出我们应用复制的模板。

 

这个命令没有设置模板库,所以maven会自动从Maven仓库中下载我们设置所需的jar,源码和javadoc。

 

运行成功后,控制台显示的结果为:

 

 

如果创建失败,可以看看maven的仓库中是否还有这个模板,链接http://search.maven.org/#search%7Cga%7C1%7Ccom.alibaba.citrus,如果没有,可以尝试选择其他的模板,只要替换-DarchetypeArtifactId-DarchetypeGroupId、-DarchetypeVersion为仓库中的信息即可。

 

-----------------------------------------------------------------------------------------------------

 

命令运行完后,在项目目录上运行:

 

tutorial1>mvn jetty:run

 

就可以启动jetty服务器了,其实模板在pom.xml中已经设置了jetty插件,并且设置了访问端口8081,所以直接用maven命令就可以启动jetty。

 

 

<plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>maven-jetty-plugin</artifactId>
                <configuration>
                    <contextPath>/</contextPath>
                    <connectors>
                    ......
<plugin>

 

运行成功的信息如下:

 

在浏览器中输入http://localhost:8081/或者127.0.0.1:8081,显示的结果跟官网(www.openwebx.org)运行出现的页面一样,至于为什么会出现那个页面,官网已经说的很清楚了。

 

生成的项目中只是一个简单的例子。

 

进入应用主页后,通过在页面index.htm的表单上输入名字,点击“提交查询内容”,跳转到页面hello.htm并显示“hello,name!”。

 

其中涉及的配置都已经事先配好了,至于怎么配置和运行机制我会在后面的留言板系统开发中慢慢的学习。(现在我也不是太明白~

  • 大小: 14.8 KB
  • 大小: 29.6 KB
  • 大小: 12.2 KB
分享到:
评论

相关推荐

    基于maven创建web项目

    基于maven创建web项目 maven是一种基于项目对象模型(Project Object Model,POM)的项目管理工具,由Apache软件基金会开发和维护。maven提供了一种标准化的方式来构建、打包和部署项目,它可以帮助开发者简化项目...

    使用Idea14.1.4和maven创建java web项目

    ### 使用Idea14.1.4和Maven创建Java Web项目 #### 一、概述 在本篇文章中,我们将详细介绍如何使用IntelliJ IDEA 14.1.4版本结合Maven来创建一个Java Web项目。这种方法不仅能够提高开发效率,还能确保项目的结构...

    idea使用maven创建的web项目

    【标题】:“idea使用maven创建的web项目” 在Java开发中,IntelliJ IDEA(简称Idea)作为一款强大的集成开发环境,结合Maven构建工具,能够帮助开发者高效地管理项目的依赖、构建和部署。Maven是一个项目管理和...

    使用Maven构建多模块项目

    本文将深入探讨如何利用Maven构建多模块项目,以及在实际操作中需要注意的关键点。 1. Maven多模块项目结构: Maven多模块项目通常遵循一个标准的目录结构,包括一个顶级父 pom.xml(如test-hd-parent),和若干子...

    项目管理利器——maven

    项目管理利器——maven,技术开发学习类稳定档案顶顶顶顶

    java创建一个简单的Maven项目

    java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一个简单的Maven项目java创建一...

    mavenWeb空项目

    【标题】"mavenWeb空项目"所涉及的知识点主要...综上所述,"mavenWeb空项目"是一个包含Java Web开发基础的项目模板,利用Maven进行构建管理和单元测试,为开发者提供了一个良好的起点,便于快速开发和迭代Web应用程序。

    maven创建实战web项目

    本篇文章将详细介绍如何利用Maven创建一个Servlet版本为3.0、Java版本为1.7的Web项目,并对创建过程中可能出现的问题及解决方案进行深入探讨。 #### 二、准备工作 1. **安装环境**: - Eclipse IDE(推荐使用最新...

    maven创建web工程

    通过 Maven 创建 Web 项目能够帮助开发者快速搭建开发环境,实现自动化构建、依赖管理和部署等功能。本文将详细介绍如何使用 Maven 在 Eclipse 中创建一个 Web 工程。 #### 二、准备工作 在开始之前,请确保已经...

    使用maven创建多模块项目

    Maven通过一个中央仓库来存储大量的构件(构件是项目构建过程中需要的任何东西,包括JAR文件、二进制文件、文档等),开发者可以通过声明依赖的方式来自动下载这些构件。Maven的核心功能包括编译、测试、打包、部署...

    idea中利用maven创建web项目, 并通过tomcat进行部署,运行项目

    idea中利用maven创建web项目, 并通过tomcat进行部署,运行项目

    Eclipse使用Maven无法建web项目

    本文将深入探讨如何在Eclipse中利用Maven创建一个Web应用程序项目。 首先,我们需要理解“Eclipse使用Maven无法建web项目”这个问题可能涉及到的几个关键点。在Eclipse中创建Maven Web项目时,可能会遇到诸如Maven...

    Maven项目创建流程

    Maven项目创建流程是Java开发中一个至关重要的环节,它可以帮助开发者规范地组织项目结构,并自动管理项目的依赖关系。以下是一个详细的Maven项目创建步骤,包括创建父项目、子模块以及设置相关的配置信息。 1. **...

    maven多模块web项目

    在IDEA(IntelliJ IDEA)中创建这样的项目,开发者可以充分利用其强大的代码编辑、调试、版本控制和项目管理功能,提高开发效率。IDEA的Maven支持允许用户轻松管理依赖关系,构建和运行项目。 【标签】"maven web...

    Eclipse创建基于MAVEN的web项目

    "Eclipse创建基于MAVEN的web项目" 标题解释 本文主要介绍如何使用Eclipse创建基于Maven的Web项目,包括建立Maven项目、配置项目、构建框架等步骤。 描述解释 使用Eclipse创建Maven版的Web项目需要通过Maven的...

    构建基于Maven的SSH原型项目

    1. **初始化项目**:创建一个新的Maven项目,设置POM.xml文件,这是Maven项目的配置中心,包含项目的基本信息和依赖。 2. **添加SSH框架依赖**:在POM.xml中,你需要指定SSH框架的版本号,并添加相应的依赖。 3. *...

    Maven创建Java工程

    本教程通过实例演示了如何利用Maven创建一个多模块Java工程,并将其集成到Eclipse环境中,为开发者提供了一条清晰的项目构建和管理路径。无论是初学者还是经验丰富的开发者,都能从中受益,提升项目构建效率和代码...

Global site tag (gtag.js) - Google Analytics