欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java工作笔记-使用Maven创建多模块项目

发布时间:2025/3/15 java 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Java工作笔记-使用Maven创建多模块项目 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目录

 

前言

演示


 

前言

在某些项目中会用到多模块,一般情况下都使用Maven进行操作,然后手动写porn.xml,这样就算是spring boot也是手动写的,并没有使用官方的初始化项目工具。

 

 

演示

如下创建kill这个项目,再创建api、model、server这些项目,注意,这些都是Maven项目!

这里把kill目录下的src删除,因为这个kill跟项目主要用于项目管理!

最后结果如下:

看下kill目录下的porn.xml

从中可以知道就是配置了modules后,就形成了多模块项目。

把所有的porm.xml补充好!

kill下的porn.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.debug.kill</groupId><artifactId>kill</artifactId><packaging>pom</packaging><version>1.01</version><name>多模块项目</name><description>测试多模块项目</description><modules><module>api</module><module>model</module><module>server</module></modules><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version><maven.compiler.source>${java.version}</maven.compiler.source><maven.compiler.target>${java.version}</maven.compiler.target></properties></project>

api下的porn.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>kill</artifactId><groupId>com.debug.kill</groupId><version>1.01</version></parent><modelVersion>4.0.0</modelVersion><artifactId>api</artifactId><properties><mybatis-pagehelper.version>4.1.2</mybatis-pagehelper.version><lombok.version>1.16.10</lombok.version><javax-validation.version>1.1.0.Final</javax-validation.version><hibernate-validator.version>5.3.5.Final</hibernate-validator.version></properties><dependencies><!--java校验 跟 hibernate校验--><dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><version>${javax-validation.version}</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>${hibernate-validator.version}</version></dependency><!--for page--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${mybatis-pagehelper.version}</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency></dependencies></project>

model下的porn.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>kill</artifactId><groupId>com.debug.kill</groupId><version>1.01</version></parent><modelVersion>4.0.0</modelVersion><artifactId>model</artifactId><properties><mybatis-spring-boot.version>1.1.1</mybatis-spring-boot.version><mybatis-pagehelper.version>4.1.2</mybatis-pagehelper.version></properties><dependencies><!--api--><dependency><groupId>com.debug.kill</groupId><artifactId>api</artifactId><version>${project.parent.version}</version></dependency><!--spring-mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${mybatis-spring-boot.version}</version></dependency><!--json--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.9.0</version><!--<scope>compile</scope>--></dependency></dependencies></project>

server下的porn.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>kill</artifactId><groupId>com.debug.kill</groupId><version>1.01</version></parent><modelVersion>4.0.0</modelVersion><artifactId>server</artifactId><packaging>war</packaging><properties><start-class>com.debug.kill.server.MainApplication</start-class><spring-boot.version>1.5.7.RELEASE</spring-boot.version><spring-session.version>1.2.0.RELEASE</spring-session.version><slf4j.version>1.7.13</slf4j.version><log4j.version>1.2.17</log4j.version><mysql.version>5.1.37</mysql.version><druid.version>1.0.16</druid.version><guava.version>19.0</guava.version><joda-time.version>2.9.2</joda-time.version><zookeeper.version>3.4.10</zookeeper.version><curator.version>2.12.0</curator.version><shiro.version>1.2.6</shiro.version><gson.version>2.6.1</gson.version><redisson.version>3.8.2</redisson.version><common-lang.version>3.8</common-lang.version></properties><!-- 依赖管理 --><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!--mail--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>${spring-boot.version}</version></dependency><!--model--><dependency><groupId>com.debug.kill</groupId><artifactId>model</artifactId><version>${project.parent.version}</version></dependency><!--guava--><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>${guava.version}</version></dependency><!-- time --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${joda-time.version}</version></dependency><!--mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!--druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!--spring--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>${spring-boot.version}</version><exclusions><exclusion><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId></exclusion><exclusion><groupId>org.slf4j</groupId><artifactId>log4j-over-slf4j</artifactId></exclusion><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion></exclusions></dependency><!-- jsp 支持 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><!-- zookeeper start --><dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>${zookeeper.version}</version><exclusions><exclusion><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></exclusion><exclusion><groupId>log4j</groupId><artifactId>log4j</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>${curator.version}</version></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>${curator.version}</version></dependency><!--for test--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!--shiro权限控制--><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-ehcache</artifactId><version>${shiro.version}</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>${shiro.version}</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-web</artifactId><version>${shiro.version}</version></dependency><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>${shiro.version}</version></dependency><!-- gson --><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>${gson.version}</version></dependency><!-- redis --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-redis</artifactId><version>1.3.5.RELEASE</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><!--rabbitmq--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><version>${spring-boot.version}</version></dependency><!--redisson--><dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>${redisson.version}</version></dependency><!--common-lang3--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>${common-lang.version}</version></dependency></dependencies><build><finalName>kill-${project.parent.version}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>2.4</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml></configuration></plugin></plugins><resources><resource><directory>src/main/resources</directory><filtering>true</filtering></resource></resources></build></project>

这里把包全部添加下:

补充:

添加一个spring boot的启动

server中的MainApplication.java

package com.debug.kill.server;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.support.SpringBootServletInitializer;@SpringBootApplication public class MainApplication extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(MainApplication.class);}public static void main(String[] args){SpringApplication.run(MainApplication.class, args);} }

 

总结

以上是生活随笔为你收集整理的Java工作笔记-使用Maven创建多模块项目的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。