美文网首页
maven多模块开发打包配置

maven多模块开发打包配置

作者: wshsdm | 来源:发表于2021-04-06 12:42 被阅读0次

1 创建父容器项目

修改pom.xml文件

<packaging>pom</packaging>
<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <junit.version>4.12</junit.version>
        <log4j.version>1.2.17</log4j.version>
        <lombok.version>1.18.16</lombok.version>
        <mysql.version>8.0.22</mysql.version>
        <druid.version>1.2.4</druid.version>
        <mybatis.spring.boot.version>2.1.3</mybatis.spring.boot.version>
        <springboot.version>2.3.2.RELEASE</springboot.version>
        <springcloud.version>Hoxton.SR8</springcloud.version>
        <alibaba.version>2.2.5.RELEASE</alibaba.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
            <!-- 下面三个基本是微服务架构的标配 -->
            <!--spring boot 2.2.2-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${springboot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring cloud Hoxton.SR1-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${springcloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <!--spring cloud 阿里巴巴-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--mysql-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
                <scope>runtime</scope>
            </dependency>
            <!-- druid-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!--junit-->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>${junit.version}</version>
            </dependency>
            <!--log4j-->
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>${log4j.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <!--指定使用maven打包-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>    <!--默认关掉单元测试 -->
                </configuration>
            </plugin>
        </plugins>
    </build>

2 创建自定义eureka-server模块

  • 修改pom.xml文件
<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>
   <dependencies>
       <!--eureka注册中心又称为(eureka服务)-->
       <dependency>
           <groupId>org.springframework.cloud</groupId>
           <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
       </dependency>
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-web</artifactId>
       </dependency>
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-actuator</artifactId>
       </dependency>
   </dependencies>
    <!--spring boot打包的话需要指定一个唯一的入门-->
    <build>
        <finalName>eureka-server</finalName>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>*.properties</include>
                    <include>*.xml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- 指定该Main Class为全局的唯一入口 -->
                    <mainClass>com.demo.EureserverStarter</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
  • 创建启动类
//@EnableEurekaServer开启EurekaServer的功能
@EnableEurekaServer
@SpringBootApplication
public class EureserverStarter {
    public static void main(String[] args) {
        SpringApplication.run(EureserverStarter.class,args);
    }
}
  • 创建src/main/resources/application.yml配置文件
server:
  port: 8761
eureka:
  instance:
    hostname: master  # eureka 服务器的实例名称
    # InstanceId是Eureka服务的唯一标记,主要用于区分同一个集群的不同实例
    instance-id: ${spring.application.name}:${vcap.application.instace_id:${spring.application.instance_id:${random.value}}}
  client:
    # false 代表不向服务注册中心注册自己,因为它本身就是服务中心
    register-with-eureka: true
    # false 代表自己就是服务注册中心,自己的作用就是维护服务实例,并不需要去检索服务
    fetch-registry: true
    service-url:
      # 设置与 Eureka Server 交互的地址,查询服务 和 注册服务都依赖这个地址
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

3 使用IDEA打包为jar文件,执行运行命令

java -jar  xxxx.jar  --server.port=8001

相关文章

  • maven多模块开发打包配置

    1 创建父容器项目 修改pom.xml文件 2 创建自定义eureka-server模块 修改pom.xml文件 ...

  • maven指定打包方法

    maven 多模块构造的时候,出现要指定打包的时候,jenkins要指定模块打包的方法命令如下

  • maven多模块打包

    公共模块打包 模块中,会存在一些基础模块,供其它模块调用,这时,一定要修改父工程pom或公共模块的pom。否则会出...

  • maven多模块打包

    父工程: 公共模块啥都不加 其余模块 之后点击idea由上方,选择root,clean、package就行了,公共...

  • Maven 多环境打包以及聚合打包(一)

    说明 本文只是一个总结参考文章:Maven 插件 - 打包时多环境配置文件设置 Maven 多环境打包 mav...

  • maven多模块相互依赖 程序包xxx不存在找不到符号

    今天想测试idea下maven多模块。 在测试moduleA模块依赖moduleB模块,然后package打包mo...

  • springboot项目打包错误

    maven 多模块项目打包错误 信息如下:repackage failed: Unable to find mai...

  • 工作总结 3.19

    完成了 教师端我的学校三个分享页面的模块开发与搭建 实现webpack打包配置的优化:多文件打包与 config的...

  • Maven多模块打包问题

    1. 项目结构 tdk pom tdk-inf pom tdk-server 依赖tdk-inf 2. 打包问题 ...

  • MAVEN常见操作

    maven是什么描述项目间依赖的工具,并伴随其他一系列功能,开发多模块应用程序,统一管理项目依赖 配置maven网...

网友评论

      本文标题:maven多模块开发打包配置

      本文链接:https://www.haomeiwen.com/subject/nyzvahtx.html