上次虽然成功运行,但是项目名上有红色错误,里面却没有。查看错误信息是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配置可能有问题,这几天多看下相关文档,尽快解决。