这里我用新闻项目为列,构建多模块
大致模块分为如下:
java子模块:
模块的项目名(newsbean,newsdao,newsutils)
不是页面具体功能的实现,所以不需要webapp(注:不要选择从archetype创建)
web子模块:
模块的项目名(newsbiz,newspauth,newssearch,newstrade)
从模块名称很容易看出,是页面实现具体功能了需要调用(注:选择archetype创建,选择webapp)
IntelliJ IDEA在创建Maven项目慢?
属性名:archetypeCatalog
该属性名下有三个属性值:
remote默认(指定maven官网下载)
internal内部先查找在下载
local本地查找(在本地仓库查找,使用需提前下载到本地仓库)
具体步骤如下:
1.创建项目
2.创建Maven project主工程
只要为了组织不同的Module,不实现逻辑
3.全部下一步即可,打开目结构如下:
删除src不需要,主工程不需要编写代码
4.先创建java子模块
5.直接下一步
6.创建newsbean(直接下一步到完成)
7.同理创建所有java模块目录如下:
8.接下来创建web模块(newsbiz)下一步
8.配置(这里可以添加属性加快项目的创建)
9.默认下一步,完成!结构如下:
即大致项目模块创建完成!
在web模块下要编写java,创建java文件夹:
解决:
快捷方式:Ctrl+Shift+Alt+S
maven本地仓库
添加模块依赖
newsutils添加newsbean的依赖
newsdao依赖与newsutils
newsbiz依赖于newsdao
还需要在pom.xml中配置依赖
如下类似,所有pom.xml都需配置依赖
在添加中我们发现:
web模块项目都有一个公共的依赖
我们可以把公共依赖添加到总的pom.xml文件中
所有的子级都会继承这个总的pom.xml
配置maven私服
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url> http://nexus.project.bdqn.cn:8081/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>snapshots</id>
<url>http://nexus.project.bdqn.cn:8081/nexus/content/repositories/snapshots</url>
</repository>
</repositories>
<!-- 插件的配置-->
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${sources.plugin.verion}</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
配置tomcat服务器
打包之后会生成相应的jar包和war包
启动tomcat:
如下成功显示页面信息!