美文网首页
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多模块开发打包配置

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