论坛首页 Java企业应用论坛

手把手构建Maven企业级应用(整合SSI框架)《2》

浏览 8039 次
精华帖 (4) :: 良好帖 (5) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-03-08   最后修改:2010-03-08

   下面我们构建我们项目的骨架,假定我们的项目为verticalmarket的一个项目,那么我们知道这个父工程下面我们要为其建立子模块,主要是把表示层、业务层及持久层分为不同的模块,其项目结构大致如下:

 

verticalmarket-dal
verticalmarket-manager
verticalmarket-service
verticalmarket-config
verticalmarket-web

 

   当然结构可以随意,按照你们自己约定俗成的就可以,这个仅为一个例子,下面就让我们开始创建这个工程,当然Maven的一

些基础知识我不在说明了,可以看下Sonatype公司的教程 Maven权威指南

   1、构建verticalmarket的父母录,在你的任意目录下,打开shell窗口(Windows的cmd),输入命令:

 

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket

    2、在生成的verticalmarket文件夹下面我们可以看到一个src文件夹和一个pom.xml,删除src文件夹,然后修改pom文件

 

<?xml version="1.0" encoding="UTF-8"?>
<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.tkz.verticalmarket</groupId>
  <artifactId>verticalmarket</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  <name>verticalmarket</name>
  <url>http://maven.apache.org</url>
  <dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.0</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  </dependencyManagement>
</project>

   其中修改的重点为打包方式改为pom形式,这也就意味这这是一个父工程,另外版本号默认是SNAPSHOT意思是快照的意思,就是项目开发中的意思,你要是看着不爽可以把它删掉,另外需要说明一下dependencyManagement标签,这个标签表示子类可以隐式的继承父pom文件的依赖库,在子pom中不需要指定版本号

,推荐这样,这样可以方便开发,你要修改什么依赖的版本只需要更改父pom就可以了,dependencies是显示继承,你要是在

子pom中声明,就必须写明版本号,不写默认就继承了。

    3、下面我们构建子工程项目,进入verticalmarket目录下,输入命令:

 

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-dal -Dpackage=com.tkz.verticalmarket.dal

 然后在父目录下面就生成了verticalmarket-dal子工程,此时父pom文件自动添加项目关系:

 

<modules>
    <module>verticalmarket-dal</module>
</modules>

 这就表示这个工程是verticalmarket子工程,同样道理,其他命令如下:

 

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-manager -Dpackage=com.tkz.verticalmarket.manager

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-service -Dpackage=com.tkz.verticalmarket.service

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-config -Dpackage=com.tkz.verticalmarket.config

mvn archetype:create -DgroupId=com.tkz.verticalmarket -DartifactId=verticalmarket-web -Dpackage=com.tkz.verticalmarket.web -DarchtypeArtifactId=maven-archetype-webapp

 最后的-DarchetypeArtifactId=maven-archtype-webapp,表示这个是web程序结构,其他的默认就是java程序结构

    4、然后可以执行命令:

 

mvn eclipse:clean eclipse:eclipse

 即生成了eclipse结构,导入到eclipse中你既可以看到你的一个多模块程序,到目前为止这个程序骨架就算搭建完成了,下一步我们考虑如何整合SSI程序到这个多模块程序中

 

  备注:转载请注明转载地址http://tk-zhang.iteye.com/blog/610195

 

   发表时间:2010-03-09  
maven确实很好.
不过就是因为太庞杂了,所以很多人认为学着是浪费时间.
不过楼主的文章确实是好东西,顶一个
0 请登录后投票
   发表时间:2010-03-09  
[INFO] Internal error in the plugin manager executing goal 'org.apache.maven.plu
gins:maven-eclipse-plugin:2.8:eclipse': Unable to load the mojo 'org.apache.mave
n.plugins:maven-eclipse-plugin:2.8:eclipse' in the plugin 'org.apache.maven.plug
ins:maven-eclipse-plugin'. A required class is missing: org/codehaus/plexus/reso
urce/loader/ResourceNotFoundException
org.codehaus.plexus.resource.loader.ResourceNotFoundException

mvn eclipse:clean eclipse:eclipse执行后报这样的错,求指教啊~
0 请登录后投票
   发表时间:2010-03-09  
黑暗浪子 写道
[INFO] Internal error in the plugin manager executing goal 'org.apache.maven.plu
gins:maven-eclipse-plugin:2.8:eclipse': Unable to load the mojo 'org.apache.mave
n.plugins:maven-eclipse-plugin:2.8:eclipse' in the plugin 'org.apache.maven.plug
ins:maven-eclipse-plugin'. A required class is missing: org/codehaus/plexus/reso
urce/loader/ResourceNotFoundException
org.codehaus.plexus.resource.loader.ResourceNotFoundException

mvn eclipse:clean eclipse:eclipse执行后报这样的错,求指教啊~


可以看下你的classpath是否有多个maven-eclipse-plugin的版本
0 请登录后投票
   发表时间:2010-03-10  
喜欢把命令写为:
mvn clean eclipse:eclipse -U
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics