如何创建带子模块的Maven Web工程

如何创建带子模块的Maven Web工程,第1张

1,首先创建一个父类工程 子模块继承父类工程 并在父类工程的pom.xml文件中定义引入的jar及其版本号 子模块可以引用

2 创建api子模块,主要放置SDK

3 创建server 子模块 主要存放配置文件 不包括源代码

创建工程完成

创建支持eclipse的多模块maven项目

通过maven可以创建多个关联模块的项目(Multiple Module Projects)。由一个总的模块,下面包含多个子模块(子模块还可以包含子模块)。这种maven功能能支持大型的项目构建,往往大型项目由很多子模块组成。

以下说明在eclipse下如何创建多模块的maven项目。

创建总的POM

mvn archetype:create -DgroupId=com.easymorse.marshal -DartifactId=multi-modules-demo

创建一个maven项目,然后修改该项目的pom.xml文件,package类型改为pom:

<packaging>pom</packaging>

并且删除src目录。

创建子模块

在总模块目录下,创建子模块,比如web-demo:

mvn archetype:create -DgroupId=com.easymorse.marshal -DartifactId=web-demo

再创建一个比如日志模块:

mvn archetype:create -DgroupId=com.easymorse.marshal -DartifactId=logging-demo

在总pom的pom.xml文件中已经自动加入:

<modules>

<module>web-demo</module>

<module>logging-demo</module>

</modules>

在各子模块的pom.xml文件中也自动加入了:

<parent>

<artifactId>multi-modules-demo</artifactId>

<groupId>com.easymorse.marshal</groupId>

<version>1.0-SNAPSHOT</version>

</parent>

子模块继承了总POM的package,这里需要修改,web-demo模块覆盖为:

<packaging>war</packaging>

logging-demo模块修改为

<packaging>jar</packaging>

对上级模块的特别设置

需要在上级模块中设置java编译的参数,现在eclipse一般都使用比较新的版本,默认jdk是1.6,而maven默认还是1.4。

<plugin>

<artifactId>maven-compiler-plugin</artifactId>

<configuration>

<source>1.6</source>

<target>1.6</target>

<encoding>UTF-8</encoding>

</configuration>

</plugin>

对web子模块的特别设置

web子模块(web-demo)依赖它的日志模块logging-demo。设置pom.xml:

<dependency>

<groupId>com.easymorse.marshal</groupId>

<artifactId>logging-demo</artifactId>

<version>1.0-SNAPSHOT</version>

</dependency>

web子模块在生成eclipse项目时,需要wtp支持,需要设置eclipse插件:

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-eclipse-plugin</artifactId>

<configuration>

<wtpmanifest>true</wtpmanifest>

<wtpapplicationxml>true</wtpapplicationxml>

<wtpversion>2.0</wtpversion>

</configuration>

</plugin>

</plugins>

</build>

生成Eclipse项目

在multi-modules-demo项目根目录下:

mvn eclipse:eclipse

然后,通过eclipse的import项目导入,可发现两个项目:

logging-demo

web-demo

都导入进来。导入可能会出现错误,主要是因为没有设置maven的类路径变量“M2_REPO”,可以设置这个类变量到maven的本地repository陌路即可。

如果要在eclipse中使用m2eclipse,需要使用:

mvn eclipse:m2eclipse

这样就不需要设置M2_REPO类库变量了。

接下来

接下来可以:

通过eclipse配置的tomcat运行web-demo;

通过maven的tomcat或者jetty插件运行web-demo(需要配置pom.xml文件);

为项目打包便于分发和部署。

创建maven工程,新建project,右键选择New Project,勾选快速创建选项,这个选项可以快速创建简单的maven工程。

项目创建成功后,项目目录主要有:主代码目录、主资源目录、测试代码目录、测试资源目录、输出目录(代码编译存放的目录)。

添加项目依赖,查找项目依赖通常有两种方式:1. 直接在eclipse上查找,2. 在私服nexus上查找再复制依赖信息到pom.xml中。在eclipse中查找右键项目或pom.xml,输入关键信息查找,选中要引入的构件,点OK就可以自动引入。

在nexus中查找依赖,打开nexus输入关键信息点击查找按钮,在搜索结果中找到对应的jar包,复制右下角的那段信息到pom.xml的dependencies下。

在MyEclipse上运行mvn命令,右键项目选择Run As--》Maven clean。mvn命令有很多,简单说明下比较常用的命令:

1. clean 用于清理输出目录target/

2. compile用于编译项目主代码

3. test 用于编译运行测试代码

4. package 接受编译好的代码,打包成可发布的模式

5. install 将包安装到maven本地仓库

6. Deploy将最终的包复制到远程仓库

执行以上命令时,clean是不会自动执行的,因为clean和其他5个命令是不同的生命周期,因此需要使用组合命令。

在MyEclipse中运行组合命令,右键项目选择Run As--》Maven build...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11547556.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存