feat(config): 更新生产环境配置并重构项目结构

- 修改 Redis 配置主机名为 hsz-redis,端口为 6379
- 调整 docker-compose.yml 文件以支持网络隔离和服务编排
- 新增 parent/pom.xml 管理依赖版本和构建配置
- 将主 pom.xml 中的依赖管理和属性定义移至 parent 模块
- 移除重复的仓库和分发管理配置,统一由 parent 继承
master
李一帆 2025-11-03 16:42:20 +08:00
parent 8f79942377
commit 9e9aab14ec
8 changed files with 348 additions and 178 deletions

View File

@ -1,14 +1,36 @@
version: '3'
networks:
tsg-bridge:
driver: bridge
services:
hsz:
image: openjdk:21
container_name: hsz
restart: no
network_mode: host
volumes:
- /root/gunshiApp/hsz:/app
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
hsz-redis:
container_name: hsz-redis
image: redis:latest
privileged: true
environment:
- SPRING_PROFILES_ACTIVE=dev
- TZ=Asia/Shanghai
command: java -jar /app/gunshi-project-hsz-1.0-SNAPSHOT.jar
ports:
- 6369:6379
networks:
- tsg-bridge
volumes:
- /opt/hsz/redis/conf/redis.conf:/usr/local/etc/redis/conf/redis.conf
- /opt/hsz/redis/data:/data
command: redis-server /usr/local/etc/redis/conf/redis.conf
hsz-proj:
container_name: hsz-proj
image: openjdk:21
working_dir: /app
networks:
- tsg-bridge
volumes:
- /opt/hsz/java:/app
ports:
- "24205:24105"
environment:
- SPRING_PROFILES_ACTIVE=prod
- TZ=Asia/Shanghai
depends_on:
- hsz-redis
entrypoint: java -cp "gunshi-project-hsz-1.0-SNAPSHOT.jar:./lib/*" com.gunshi.project.hsz.Main

View File

Before

Width:  |  Height:  |  Size: 200 KiB

After

Width:  |  Height:  |  Size: 200 KiB

303
parent/pom.xml Normal file
View File

@ -0,0 +1,303 @@
<?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>
<parent>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-boot</artifactId>
<version>1.4-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-project-hsz-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<description>
黑石咀水库系统 - 父级POM
</description>
<properties>
<java.version>21</java.version>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<maven.test.skip>true</maven.test.skip>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- 项目特有依赖版本管理 -->
<gunshi-db.version>2.0-SNAPSHOT</gunshi-db.version>
<gunshi-modules-file.version>1.0-SNAPSHOT</gunshi-modules-file.version>
<flood-algorithm.version>1.3.1</flood-algorithm.version>
<itext.version>7.2.4</itext.version>
<mybatis-plus.version>3.5.7</mybatis-plus.version>
<artemis-http-client.version>1.1.3</artemis-http-client.version>
<commons-net.version>3.3</commons-net.version>
<easyexcel.version>3.1.1</easyexcel.version>
<fastjson2.version>2.0.43</fastjson2.version>
<jts-core.version>1.18.1</jts-core.version>
<integration-ruoyi.version>3.8.8</integration-ruoyi.version>
<postgresql.version>42.7.1</postgresql.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- Gunshi 项目依赖 -->
<dependency>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-boot</artifactId>
<version>1.4-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
</exclusion>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-db</artifactId>
<version>${gunshi-db.version}</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-modules-file</artifactId>
<version>${gunshi-modules-file.version}</version>
</dependency>
<dependency>
<groupId>org.gunshi</groupId>
<artifactId>flood_algorithm</artifactId>
<version>${flood-algorithm.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- iText7 核心库 -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>${itext.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>${itext.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>${itext.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>${itext.version}</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>svg</artifactId>
<version>${itext.version}</version>
</dependency>
<!-- MyBatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- 第三方库 -->
<dependency>
<groupId>com.hikvision.ga</groupId>
<artifactId>artemis-http-client</artifactId>
<version>${artemis-http-client.version}</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>${commons-net.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>${easyexcel.version}</version>
<exclusions>
<exclusion>
<artifactId>commons-compress</artifactId>
<groupId>org.apache.commons</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>${fastjson2.version}</version>
</dependency>
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>${jts-core.version}</version>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>integration-ruoyi</artifactId>
<version>${integration-ruoyi.version}</version>
<exclusions>
<exclusion>
<artifactId>swagger-annotations</artifactId>
<groupId>io.swagger</groupId>
</exclusion>
<exclusion>
<artifactId>swagger-annotations</artifactId>
<groupId>io.swagger.core.v3</groupId>
</exclusion>
<exclusion>
<artifactId>swagger-models</artifactId>
<groupId>io.swagger</groupId>
</exclusion>
<exclusion>
<artifactId>swagger-models</artifactId>
<groupId>io.swagger.core.v3</groupId>
</exclusion>
<exclusion>
<artifactId>springfox-swagger-common</artifactId>
<groupId>io.springfox</groupId>
</exclusion>
<exclusion>
<artifactId>springfox-swagger-ui</artifactId>
<groupId>io.springfox</groupId>
</exclusion>
<exclusion>
<artifactId>springfox-swagger2</artifactId>
<groupId>io.springfox</groupId>
</exclusion>
<exclusion>
<artifactId>jsqlparser</artifactId>
<groupId>com.github.jsqlparser</groupId>
</exclusion>
<exclusion>
<artifactId>mybatis</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
<exclusion>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<groupId>com.baomidou</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- PostgreSQL 驱动 -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
<exclusions>
<exclusion>
<artifactId>checker-qual</artifactId>
<groupId>org.checkerframework</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>21</source>
<target>21</target>
</configuration>
</plugin>
<!-- 依赖复制插件 - 作为独立目标不绑定到package阶段 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<includeScope>runtime</includeScope>
</configuration>
</plugin>
<!-- JAR打包插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.gunshi.project.hsz.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus public</name>
<url>http://local.gunshiiot.com:8081/repository/maven-public/</url>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Releases</name>
<url>http://local.gunshiiot.com:8081/repository/maven-releases</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot</name>
<url>http://local.gunshiiot.com:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>

175
pom.xml
View File

@ -6,8 +6,9 @@
<parent>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-boot</artifactId>
<version>1.4-SNAPSHOT</version>
<artifactId>gunshi-project-hsz-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>./parent/pom.xml</relativePath>
</parent>
<artifactId>gunshi-project-hsz</artifactId>
@ -15,44 +16,13 @@
<description>
黑石咀水库系统
</description>
<properties>
<java.version>21</java.version>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<maven.test.skip>true</maven.test.skip>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 属性继承自parent项目 -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-boot</artifactId>
<version>1.4-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
</exclusion>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
<!-- 依赖版本管理继承自parent项目 -->
<dependencies>
<dependency>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-db</artifactId>
<version>2.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- iText7 核心库 -->
@ -60,55 +30,42 @@
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>kernel</artifactId>
<version>7.2.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>io</artifactId>
<version>7.2.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>forms</artifactId>
<version>7.2.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>layout</artifactId>
<version>7.2.4</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>svg</artifactId>
<version>7.2.4</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<exclusions>
<exclusion>
<artifactId>checker-qual</artifactId>
<groupId>org.checkerframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.gunshi</groupId>
<artifactId>gunshi-modules-file</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
@ -130,53 +87,23 @@
<dependency>
<groupId>com.hikvision.ga</groupId>
<artifactId>artemis-http-client</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
<exclusions>
<exclusion>
<artifactId>commons-compress</artifactId>
<groupId>org.apache.commons</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.43</version>
</dependency>
<dependency>
<groupId>org.gunshi</groupId>
<artifactId>flood_algorithm</artifactId>
<version>1.3.1</version>
<exclusions>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.hikvision.ga</groupId>
<artifactId>artemis-http-client</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
@ -201,107 +128,25 @@
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>integration-ruoyi</artifactId>
<version>3.8.8</version>
<exclusions>
<exclusion>
<artifactId>swagger-annotations</artifactId>
<groupId>io.swagger</groupId>
</exclusion>
<exclusion>
<artifactId>swagger-annotations</artifactId>
<groupId>io.swagger.core.v3</groupId>
</exclusion>
<exclusion>
<artifactId>swagger-models</artifactId>
<groupId>io.swagger</groupId>
</exclusion>
<exclusion>
<artifactId>swagger-models</artifactId>
<groupId>io.swagger.core.v3</groupId>
</exclusion>
<exclusion>
<artifactId>springfox-swagger-common</artifactId>
<groupId>io.springfox</groupId>
</exclusion>
<exclusion>
<artifactId>springfox-swagger-ui</artifactId>
<groupId>io.springfox</groupId>
</exclusion>
<exclusion>
<artifactId>springfox-swagger2</artifactId>
<groupId>io.springfox</groupId>
</exclusion>
<exclusion>
<artifactId>jsqlparser</artifactId>
<groupId>com.github.jsqlparser</groupId>
</exclusion>
<exclusion>
<artifactId>mybatis</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
<exclusion>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<groupId>com.baomidou</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.18.1</version>
</dependency>
</dependencies>
<!-- 构建配置继承自parent项目 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>com.gunshi.project.hsz.Main</mainClass>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>21</source>
<target>21</target>
</configuration>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>nexus</id>
<name>Nexus public</name>
<url>http://local.gunshiiot.com:8081/repository/maven-public/</url>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus Releases</name>
<url>http://local.gunshiiot.com:8081/repository/maven-releases</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot</name>
<url>http://local.gunshiiot.com:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<!-- 仓库配置继承自parent项目 -->
</project>

View File

@ -16,8 +16,8 @@ spring:
driver-class-name: org.postgresql.Driver
data:
redis:
host: redis
port: 6369
host: hsz-redis
port: 6379
#password: 1234567a
database: 4
mybatis-plus: