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

来源:互联网 发布:17年机械行业数据采集 编辑:程序博客网 时间:2024/05/11 13:21

上次虽然成功运行,但是项目名上有红色错误,里面却没有。查看错误信息是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
原创粉丝点击