关闭

将一个Maven项目分为多个模块

2176人阅读 评论(0) 收藏 举报
分类:

上次虽然成功运行,但是项目名上有红色错误,里面却没有。查看错误信息是jax-rs 2.0 can not be installed,需要jdk1.7以上支持。然而手动更换jdk之后再update仍然回到J2SE-1.5,所以需要修改配置。在pom.xml中添加

<plugin>  
    <groupId>org.apache.maven.plugins</groupId>  
    <artifactId>maven-compiler-plugin</artifactId>  
     <configuration>  
        <source>1.7</source>
        <target>1.7</target>  
    </configuration>  
</plugin>  

再update即可看到java类库换为javaSE-1.7,错误消失。

用Maven成功完成简单的项目后,接下来就可以考虑分割项目模块了。多模块有利于实现设计模式里的高内聚,低耦合概念,特别是便于大型项目的开发与管理。以下以上次做的简单项目为基础,将之分割为多个模块。

先从MyEclipse中移除该项目,避免出错。找到workspace下的该项目目录,点开会发现该目录下有文件夹src和pom.xml。一些MyEclipse生成的文件可以删除,创建一个文件夹modules,专门存放分开的模块。创建4个子文件夹:helloMaven-parent,helloMaven-entity,helloMaven-core,helloMaven-web,将src文件夹和pom.xml复制到4个文件夹里,删除原来根目录下的src文件夹。在根目录下的pom.xml中<project>中添加如下代码:

<modules>
    <module>modules/helloMaven-parent</module>
    <module>modules/helloMaven-entity</module>
    <module>modules/helloMaven-core</module>
    <module>modules/helloMaven-web</module>
  </modules>

注释掉<dependencies>和<build>部分代码,并且将<packageing>改为pom(重点!)。接下来分别部署子模块的pom.xml

将helloMaven-parent的打包类型<packaging>改为pom,helloMaven-core的改为jar,helloMaven-entity的改为jar,helloMaven-web的保持为war。在core(helloMaven-core,下同)的pom中<moduleVersion></moduleVersion>后面添加

<parent>
      <groupId>org.zachary</groupId>
      <artifactId>helloMaven-parent</artifactId>
      <version>1.0</version>
      <relativePath></relativePath>
  </parent>
  将该代码同样放入entity和web的pom里。将core的<artifactId>项改为helloMaven-core,以此类推,分别修改entity,parent,web的pom中<artifactId>的值。从MyEclipse中导入该项目



下面的working set可选,方便查看项目。但是导入项目后并没有类似的效果,所以感觉时parent配置可能有问题,这几天多看下相关文档,尽快解决。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:46539次
    • 积分:707
    • 等级:
    • 排名:千里之外
    • 原创:33篇
    • 转载:2篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论