(十三)、将一个 SpringCloud 微服务运行 以 jar 方式运行

1、总体思路

把 SpringCloud 项目打包获得 jar ,然后使用指定版本的jdk 运行 jar

2、操作

2.1、把 SpringCloud 打包为 jar

生成 jar
  • 具体被打包的子 pom 文件声明为 jar 类型

    <artifactId>starter</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
  • 通过 父 pom 声明 自定义 jar 的名称
<build>
        <finalName>bestcxx-starter</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <!--                <version>3.1.0</version>-->
                <configuration>
                    <delimiters>
                        <delimit>$</delimit>
                    </delimiters>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • Idea 增加 package 命令,指定 starter 子模块
    如果你需要单独的profile 可以设置 profile,比如 dev
package -DskipTests

在这里插入图片描述

Working-directory
在这里插入图片描述

运行 jar

使用jar包启动

  • 最简单的:
java -jar name.jar
  • 指定jdk版本 和 端口
# 
 /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/bin/java -jar name.jar
  --server.port=8080

3、打包时多版本控制

比如我们有 application-dev.yml 和 application-k8s.yml 两个文件。
在这里插入图片描述

  • 通过修改 active 决定具体加载的配置文件是哪一个
    在这里插入图片描述

  • application-k8s.yml部分关键信息如下

datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    #更多配置参考 https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
    #url: jdbc:mysql://k8s 中 mysql service name:对应 port/test?characterEncoding=utf8&useSSL=true&serverTimezone=UTC&rewriteBatchedStatements=true
    url: jdbc:mysql://mysql-service:3306/test?characterEncoding=utf8&useSSL=true&serverTimezone=UTC&rewriteBatchedStatements=true
    username: xxx
    password: xxxxxxxxx
    driver-class-name: com.mysql.cj.jdbc.Driver
    #driver-class-name: com.mysql.jdbc.Driver
    #开启sql语句自动加载,只认识名为: schema-all.sql和schema.sql和data-all.sql和data.sql的sql语句
    #    initialization-mode: always

#redis
  redis:
    database: 0
    host: redis-service # k8s 中 redis service name
    port: 6379 # k8s 中 redis service port
    password:
    jedis:
      pool:
        max-active: 8
        max-idle: 8
        max-wait: -1ms
        min-idle: 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值