专栏首页技术进阶之路探花交友_搭建开发环境

探花交友_搭建开发环境

鉴于网上流传的资料有很多错误,开发时踩坑,故写文章记录开发过程中的配置。

一、创建 maven 父子工程

父工程 pom

<?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>
    <packaging>pom</packaging>
    <modules>
        <module>tanhua-sso</module>
    </modules>
    <!-- 父工程 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
    </parent>

    <groupId>com.lsu.tanhua</groupId>
    <artifactId>tanhua</artifactId>
    <version>1.0.0</version>


    <!-- 集中定义依赖版本号 -->
    <properties>
        <mysql.version>5.1.47</mysql.version>
        <jackson.version>2.9.9</jackson.version>
        <druid.version>1.0.9</druid.version>
        <servlet-api.version>2.5</servlet-api.version>
        <jsp-api.version>2.0</jsp-api.version>
        <joda-time.version>2.5</joda-time.version>
        <commons-lang3.version>3.3.2</commons-lang3.version>
        <commons-io.version>1.3.2</commons-io.version>
        <mybatis.version>3.2.8</mybatis.version>
        <mybatis.mybatis-plus>3.1.1</mybatis.mybatis-plus>
        <lombok.version>1.18.4</lombok.version>
    </properties>

    <!-- 会用到的依赖 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!--  要用到的依赖  -->
    <dependencyManagement>
        <dependencies>
            <!-- mybatis-plus插件依赖 -->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus</artifactId>
                <version>${mybatis.mybatis-plus}</version>
            </dependency>
            <!-- MySQL -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
                <scope>runtime</scope>
            </dependency>
            <!--      MongoDB      -->
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongodb-driver-sync</artifactId>
                <version>3.9.1</version>
            </dependency>
            <!--      Lombok      -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
                <version>${lombok.version}</version>
            </dependency>
            <!--      Lang 包      -->
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${commons-lang3.version}</version>
            </dependency>
            <!-- RocketMQ 相关依赖 -->
            <dependency>
    			<groupId>org.apache.rocketmq</groupId>
    			<artifactId>rocketmq-spring-boot-starter</artifactId>
    			<version>2.1.0</version>
			</dependency>
            <!--      消息中间件      -->
            <dependency>
                <groupId>org.apache.rocketmq</groupId>
                <artifactId>rocketmq-client</artifactId>
                <version>4.3.2</version>
            </dependency>
            <!-- Jackson Json 处理工具包 -->
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>${jackson.version}</version>
            </dependency>
            <!--      数据库连接池      -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid.version}</version>
            </dependency>
            <!--      加密解密包 md5      -->
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
                <version>1.11</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <build>
        <plugins>
            <!--      Java 编译版本      -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

sso 子工程 pom

<?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>tanhua</artifactId>
        <groupId>com.lsu.tanhua</groupId>
        <version>1.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>tanhua-sso</artifactId>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis.mybatis-plus}</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
        </dependency>
        <!-- RocketMQ 相关-->
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.rocketmq</groupId>
            <artifactId>rocketmq-client</artifactId>
            <version>4.3.2</version>
        </dependency>
    </dependencies>

</project>

二、搭建 redis 集群

此命令为部署 Redis 集群,如果本地的 docker 没有 redis 的镜像,那么他会先自动下载再部署。

docker create --name redis-node01 --net host -v redis-node01:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-01.conf --port 6379
docker create --name redis-node02 --net host -v redis-node02:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-02.conf --port 6380
docker create --name redis-node03 --net host -v redis-node03:/data redis:5.0.2 --cluster-enabled yes --cluster-config-file nodes-node-03.conf --port 6381 

返回一串字符即为成功。

然后我们启动容器:

docker start redis-node01 redis-node02 redis-node03

然后进入 redis-node01 容器进行操作:

docker exec -it redis-node01 /bin/bash

组建集群

由于我是使用的阿里云服务器,所以需要暴露端口:

阿里云开启安全组:设置两种安全组,一种是 redis 单个端口,另一个是 redis 单个端口值 +10000。

redis-cli --cluster create 47.98.142.37:6379 47.98.142.37:6380 47.98.142.37:6381 --cluster-replicas 0

中间需要输入一次 yes

搭建成功之后可以进行测试:

redis-cli
CLUSTER NODES

三、搭建 rocketMQ 环境

这里创建的是单节点的 RocketMQ

#拉取镜像
docker pull foxiswho/rocketmq:server-4.3.2
docker pull foxiswho/rocketmq:broker-4.3.2

注意:只要涉及端口,都要在阿里云服务器的控制台开启端口。

创建 nameserver 容器

# 创建 nameserver 容器
docker create -p 9876:9876 --name rmqserver \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-e "JAVA_OPTS=-Duser.home=/opt" \
-v rmqserver-logs:/opt/logs \
-v rmqserver-store:/opt/store \
foxiswho/rocketmq:server-4.3.2

创建 broker.conf 文件

# 创建 broker.conf 文件
mkdir -p /itcast/rmq/rmqbroker/conf
vim /itcast/rmq/rmqbroker/conf/broker.conf

# 写入下列内容:
brokerIP1=192.168.31.81
namesrvAddr=192.168.31.81:9876
brokerName=broker_tanhua

创建 broker 容器

# 创建 broker 容器
docker create -p 10911:10911 -p 10909:10909 --name rmqbroker \
-e "JAVA_OPTS=-Duser.home=/opt" \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-v /itcast/rmq/rmqbroker/conf/broker.conf:/etc/rocketmq/broker.conf \
-v rmqbroker-logs:/opt/logs \
-v rmqbroker-store:/opt/store \
foxiswho/rocketmq:broker-4.3.2
# 启动容器
docker start rmqserver rmqbroker
#部署RocketMQ的管理工具
docker pull styletang/rocketmq-console-ng:1.0.0
#创建并启动容器
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=47.98.142.37:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8082:8080 -t styletang/rocketmq-console-ng:1.0.0

然后访问 http://47.98.142.**:8082/ 即可看到如下界面,说明环境搭建成功。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JavaWeb 使用 Druid 连接池查询数据库

    本 Demo 使用 Maven 创建,如果你没有使用该工具也无伤大雅,自己下载对应的 jar 包放到 lib目录下就可以了。

    wsuo
  • SpringBoot 项目开启热部署

    wsuo
  • nacos 服务注册与配置中心

    启动服务之后,访问 http://localhost:8848/nacos/#/serviceManagement 即可看到以下信息:

    wsuo
  • 《Redis篇:》redis存取数据《使用配置文件配置jedisPool》

  • Appium系列|Appium测试框架完善(四)

    在IDE里执行测试脚本执行完后可以将测试结果导出成JUnit或者html格式的都可以,但后续我们做持续集成的时候期望一步到位执行可以生成这两种格式的报告,那怎么...

    测试邦
  • Maven项目转Gradle项目

    https://blog.csdn.net/asd1098626303/article/details/79141315

    算法与编程之美
  • SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

    如果需要,参看之前的博文:http://blog.csdn.NET/zhshulin/article/details/30779873

    用户5640963
  • 01基础项目工程搭建

    http://localhost:8001/payment/save?serial=ray123

    Remember_Ray
  • 微服务综合案例-02-product服务创建

      上篇文章我们分析了我们要实现的案例的需求,本文我们来实现下product服务。因为要创建的项目比较多所以,本案例采用eclipse来开发。

    用户4919348
  • SOAPUI访问WEBSERVICE案例

    小编最近被要求测试一下webservice接口,于是小编jmeter和postman轮番编码+运行循环了N次,各种网上搜解决方案,倒腾半天无果,于是小编果断放弃...

    muntainyang

扫码关注云+社区

领取腾讯云代金券