253 lines
10 KiB
XML
253 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Copyright © 2026 Qiantong Technology Co., Ltd.
|
|
qModel Model Platform(Open Source Edition)
|
|
*
|
|
License:
|
|
Released under the Apache License, Version 2.0.
|
|
You may use, modify, and distribute this software for commercial purposes
|
|
under the terms of the License.
|
|
*
|
|
Special Notice:
|
|
All derivative versions are strictly prohibited from modifying or removing
|
|
the default system logo and copyright information.
|
|
For brand customization, please apply for brand customization authorization via official channels.
|
|
*
|
|
More information: https://qmodel.qiantong.tech/business.html
|
|
*
|
|
============================================================================
|
|
*
|
|
版权所有 © 2026 江苏千桐科技有限公司
|
|
qModel 模型平台(开源版)
|
|
*
|
|
许可协议:
|
|
本项目基于 Apache License 2.0 开源协议发布,
|
|
允许在遵守协议的前提下进行商用、修改和分发。
|
|
*
|
|
特别说明:
|
|
所有衍生版本不得修改或移除系统默认的 LOGO 和版权信息;
|
|
如需定制品牌,请通过官方渠道申请品牌定制授权。
|
|
*
|
|
更多信息请访问:https://qmodel.qiantong.tech/business.html
|
|
-->
|
|
|
|
<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>qModel</artifactId>
|
|
<groupId>tech.qiantong</groupId>
|
|
<version>1.0.1</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<packaging>jar</packaging>
|
|
<artifactId>qmodel-server-ce</artifactId>
|
|
|
|
<description>
|
|
后台管理服务入口
|
|
</description>
|
|
|
|
<dependencies>
|
|
<!-- 系統模块 -->
|
|
<dependency>
|
|
<groupId>tech.qiantong</groupId>
|
|
<artifactId>qmodel-module-system-biz</artifactId>
|
|
<version>1.0.1</version>
|
|
</dependency>
|
|
|
|
<!-- 示例模块 -->
|
|
<dependency>
|
|
<groupId>tech.qiantong</groupId>
|
|
<artifactId>qmodel-module-model-biz</artifactId>
|
|
<version>1.0.1</version>
|
|
</dependency>
|
|
|
|
|
|
|
|
|
|
<!-- spring-boot-devtools -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-devtools</artifactId>
|
|
<optional>true</optional> <!-- 表示依赖不会传递 -->
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-thymeleaf</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.github.codemonstur</groupId>
|
|
<artifactId>embedded-redis</artifactId>
|
|
<version>1.4.3</version>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- maven-compiler-plugin 配置 -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
<configuration>
|
|
<source>1.8</source>
|
|
<target>1.8</target>
|
|
<annotationProcessorPaths>
|
|
<!-- 引入 mapstruct-processor -->
|
|
<path>
|
|
<groupId>org.mapstruct</groupId>
|
|
<artifactId>mapstruct-processor</artifactId>
|
|
<version>1.5.5.Final</version>
|
|
</path>
|
|
<!-- 引入 lombok-processor -->
|
|
<path>
|
|
<groupId>org.projectlombok</groupId>
|
|
<artifactId>lombok</artifactId>
|
|
<version>1.18.36</version>
|
|
</path>
|
|
</annotationProcessorPaths>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Spring Boot Maven 插件配置 -->
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<version>2.5.15</version>
|
|
<configuration>
|
|
<fork>true</fork> <!-- 如果没有该配置,devtools不会生效 -->
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>repackage</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- 其他需要的插件配置,如 maven-war-plugin 等 -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-war-plugin</artifactId>
|
|
<version>3.1.0</version>
|
|
<configuration>
|
|
<failOnMissingWebXml>false</failOnMissingWebXml>
|
|
<warName>${project.artifactId}</warName>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- docker 镜像打包 -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
|
|
<executions>
|
|
<!-- 1. 只打印 build 命令 -->
|
|
<execution>
|
|
<id>print-docker-build</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${docker.print.skip}</skip>
|
|
<executable>cmd</executable>
|
|
<workingDirectory>${project.basedir}</workingDirectory>
|
|
<arguments>
|
|
<argument>/c</argument>
|
|
<argument>
|
|
echo docker buildx build --load --no-cache -t ${docker.hub}/${docker.repo}:${docker.tag} ${project.basedir} --file=docker/Dockerfile
|
|
</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<!-- 2. 只打印 push 命令 -->
|
|
<execution>
|
|
<id>print-docker-push</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${docker.print.skip}</skip>
|
|
<executable>cmd</executable>
|
|
<workingDirectory>${project.basedir}</workingDirectory>
|
|
<arguments>
|
|
<argument>/c</argument>
|
|
<argument>
|
|
echo docker buildx build --platform linux/amd64,linux/arm64 --no-cache --push -t ${docker.hub}/${docker.repo}:${docker.tag} ${project.basedir} --file=docker/Dockerfile
|
|
</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<!-- 3. 真正执行 docker build(和 print-docker-build 完全一致) -->
|
|
<execution>
|
|
<id>docker-build</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${docker.build.skip}</skip>
|
|
<executable>docker</executable>
|
|
<workingDirectory>${project.basedir}</workingDirectory>
|
|
<arguments>
|
|
<argument>buildx</argument>
|
|
<argument>build</argument>
|
|
<argument>--load</argument>
|
|
<argument>--no-cache</argument>
|
|
<argument>-t</argument>
|
|
<argument>${docker.hub}/${docker.repo}:${docker.tag}</argument>
|
|
<argument>${project.basedir}</argument>
|
|
<argument>--file=docker/Dockerfile</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<!-- 4. 真正执行 docker push(和 print-docker-push 完全一致) -->
|
|
<execution>
|
|
<id>docker-push</id>
|
|
<phase>deploy</phase>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${docker.push.skip}</skip>
|
|
<executable>docker</executable>
|
|
<workingDirectory>${project.basedir}</workingDirectory>
|
|
<arguments>
|
|
<argument>buildx</argument>
|
|
<argument>build</argument>
|
|
<argument>--platform</argument>
|
|
<argument>linux/amd64,linux/arm64</argument>
|
|
<argument>--no-cache</argument>
|
|
<argument>--push</argument>
|
|
<argument>-t</argument>
|
|
<argument>${docker.hub}/${docker.repo}:${docker.tag}</argument>
|
|
<argument>${project.basedir}</argument>
|
|
<argument>--file=docker/Dockerfile</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
<finalName>${project.artifactId}</finalName>
|
|
</build>
|
|
|
|
</project>
|