skill模板-基于java maven项目

Java Maven 项目 Skill 模板

以下是几个针对 Java Maven 项目的实用 Skill 模板,覆盖常用开发场景。

模板 1:Maven 项目结构创建器

用途:创建标准的 Maven 项目结构和配置文件

复制代码
---
name: maven-project-setup
description: 创建标准的 Java Maven 项目结构,包括目录、POM 配置和基础文件。当用户需要初始化 Maven 项目、创建新 Java 工程时触发。
---

# Maven 项目结构创建器

## 目标
创建符合 Maven 标准目录结构的 Java 项目,包含合理的 POM 配置和基础代码模板。

## 核心指令
### 1. 标准目录结构
bash 复制代码
项目名/

├── src/

│ ├── main/

│ │ ├── java/com/example/

│ │ │ ├── App.java

│ │ │ └── utils/

│ │ └── resources/

│ │ ├── application.properties

│ │ └── log4j2.xml

│ └── test/

│ ├── java/com/example/

│ └── resources/

├── pom.xml

├── README.md

└── .gitignore
复制代码
bash 复制代码
### 2. POM 配置规范
- 使用最新稳定版 Maven 插件
- 指定 Java 版本(默认 Java 11 或 17)
- 添加常用依赖(JUnit, Log4j, SLF4J 等)
- 配置编码为 UTF-8
- 设置资源过滤

### 3. 文件生成规则
- **App.java**:包含 main 方法和基本示例
- **application.properties**:基础 Spring Boot 配置(如果适用)
- **.gitignore**:包含 Maven、IDE 和系统文件的忽略规则
- **README.md**:项目描述、构建和运行指令

## 输出格式
1. 使用树状图展示目录结构
2. 为每个重要文件提供完整内容
3. 在代码块中标注语言类型
4. 对配置选项进行简要说明

## 示例
**用户输入**:创建一个用户管理系统的 Maven 项目

**AI 输出**:


项目结构已创建:user-management-system/

user-management-system/

├── pom.xml

├── src/main/java/com/usermanagement/

│ └── Application.java

├── src/main/resources/

│ └── application.properties

└── README.md
bash 复制代码
**pom.xml 内容**:

xml

<?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>

<groupId>com.usermanagement</groupId>
<artifactId>user-management-system</artifactId>
<version>1.0.0</version>

<properties>
    <java.version>17</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <!-- 测试依赖 -->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>5.9.2</version>
        <scope>test</scope>
    </dependency>
    
    <!-- 日志 -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.20.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.11.0</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
        </plugin>
    </plugins>
</build>

</project>

模板 2:Maven 依赖分析器

用途:分析 POM 依赖,提供优化建议

复制代码
---
name: maven-dependency-analyzer
description: 分析 Maven 项目的依赖关系,检查版本冲突、过时依赖和安全漏洞。当用户需要检查依赖、优化 pom.xml 或解决冲突时触发。
---

# Maven 依赖分析器

## 角色
你是资深 Java 架构师,专注于依赖管理和构建优化。

## 审查流程
### 第一阶段:基本信息收集
1. 识别项目类型(Spring Boot、普通 Java 应用、库等)
2. 分析 Java 版本和构建工具版本
3. 统计依赖总数和层级

### 第二阶段:问题检测
#### 1. 版本冲突检查
- 识别重复依赖的不同版本
- 检查传递依赖的版本冲突
- 标记不兼容的版本组合

#### 2. 依赖健康度检查
- 标记过时版本(超过 2 年未更新)
- 识别废弃/不再维护的库
- 检查已知安全漏洞(CVE)

#### 3. 优化建议
- 推荐使用 BOM 管理版本
- 建议移除未使用的依赖
- 推荐更轻量的替代库

### 第三阶段:输出报告
#### 报告格式

Maven 依赖分析报告

📊 概览

  • 总依赖数:XX

  • 直接依赖:XX

  • 传递依赖:XX

  • Java 版本:XX

  • 构建工具:Maven XX

⚠️ 发现的问题

版本冲突

  1. 问题:log4j 版本冲突

    • 当前版本:1.2.17 (来自 spring-boot-starter) 和 2.17.1 (直接引入)

    • 风险:可能导致类加载问题

    • 解决方案

      复制代码
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
          <exclusions>
              <exclusion>
                  <groupId>org.apache.logging.log4j</groupId>
                  <artifactId>log4j-core</artifactId>
              </exclusion>
          </exclusions>
      </dependency>

安全漏洞

  1. CVE-2021-44228​ (log4j 2.x < 2.17.0)

    • 影响版本:2.0-beta9 到 2.16.0

    • 建议升级到:2.17.1+

🎯 优化建议

  1. 使用依赖管理

    复制代码
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>io.spring.platform</groupId>
                <artifactId>platform-bom</artifactId>
                <version>Cairo-SR8</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
  2. 移除无用依赖commons-collections未被代码引用

    输出要求

    1. 按严重程度排序问题(安全 > 冲突 > 优化)
    2. 为每个问题提供具体代码修改示例
    3. 标记修复的优先级(高/中/低)
    4. 如果问题复杂,提供分步修复指南

模板 3:Maven 插件配置专家

用途:为特定任务配置 Maven 插件

复制代码
---
name: maven-plugin-config
description: 为 Maven 项目配置各种插件,包括构建、测试、打包、部署等。当用户需要配置插件、优化构建流程或解决插件问题时触发。
---

# Maven 插件配置专家

## 插件分类配置
根据用户需求推荐和配置合适的插件。

### 1. 代码质量插件
#### SpotBugs(静态代码分析)
bash 复制代码
xml

<plugin>

<groupId>com.github.spotbugs</groupId>

<artifactId>spotbugs-maven-plugin</artifactId>

<version>4.7.3.6</version>

<configuration>

<effort>Max</effort>

<threshold>Low</threshold>

<xmlOutput>true</xmlOutput>

</configuration>

<executions>

<execution>

<goals>

<goal>check</goal>

</goals>

</execution>

</executions>

</plugin>
复制代码
#### JaCoCo(测试覆盖率)
bash 复制代码
xml

<plugin>

<groupId>org.jacoco</groupId>

<artifactId>jacoco-maven-plugin</artifactId>

<version>0.8.10</version>

<executions>

<execution>

<goals>

<goal>prepare-agent</goal>

</goals>

</execution>

<execution>

<id>report</id>

<phase>test</phase>

<goals>

<goal>report</goal>

</goals>

</execution>

</executions>

<configuration>

<excludes>

<exclude>*/entity/.class</exclude>

</excludes>

</configuration>

</plugin>
bash 复制代码
### 2. 构建打包插件
#### Spring Boot Maven Plugin

xml

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

<version>3.1.0</version>

<configuration>

<mainClass>com.example.Application</mainClass>

<layout>JAR</layout>

<executable>true</executable>

</configuration>

<executions>

<execution>

<goals>

<goal>repackage</goal>

</goals>

</execution>

</executions>

</plugin>
bash 复制代码
### 3. 版本管理插件
#### Versions Maven Plugin

xml

<plugin>

<groupId>org.codehaus.mojo</groupId>

<artifactId>versions-maven-plugin</artifactId>

<version>2.15.0</version>

</plugin>
复制代码
## 配置建议
1. **插件管理**:推荐在 `<pluginManagement>` 中统一管理版本
2. **生命周期绑定**:根据项目阶段合理绑定执行目标
3. **配置文件分离**:复杂配置使用外部文件
4. **性能优化**:合理设置跳过选项

## 执行命令参考

运行特定插件的目标

bash 复制代码
mvn spotbugs:check

mvn jacoco:report

跳过插件执行

bash 复制代码
mvn clean package -DskipTests

mvn clean install -Dspotbugs.skip=true
复制代码
## 故障排除
### 常见问题
1. **插件版本冲突**:通过 exclusion 排除传递依赖
2. **内存不足**:配置 MAVEN_OPTS 环境变量
3. **网络问题**:配置镜像仓库

模板 4:Maven 多模块项目设计器

用途:设计和管理 Maven 多模块项目

复制代码
---
name: maven-multi-module
description: 设计和创建 Maven 多模块项目结构,包括父POM、子模块依赖关系。当用户需要创建微服务、复杂系统或模块化项目时触发。
---

# Maven 多模块项目设计器

## 设计原则
1. **单一职责**:每个模块有明确的功能边界
2. **依赖方向**:依赖方向从具体到抽象,避免循环依赖
3. **版本统一**:父POM统一管理依赖版本
4. **构建独立**:支持单独构建子模块

## 标准结构模板
bash 复制代码
my-multi-module-project/

├── pom.xml # 父POM(聚合+管理)

├── my-common/ # 通用模块

│ ├── pom.xml

│ └── src/

├── my-api/ # API接口模块

│ ├── pom.xml

│ └── src/

├── my-service/ # 业务服务模块

│ ├── pom.xml

│ └── src/

├── my-web/ # Web层模块

│ ├── pom.xml

│ └── src/

└── my-app/ # 启动模块

├── pom.xml

└── src/
bash 复制代码
## 父POM配置模板

xml

<?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>
<!-- 项目坐标 -->
<groupId>com.example</groupId>
<artifactId>my-multi-module-project</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>  <!-- 关键:必须是 pom -->

<!-- 模块声明 -->
<modules>
    <module>my-common</module>
    <module>my-api</module>
    <module>my-service</module>
    <module>my-web</module>
    <module>my-app</module>
</modules>

<!-- 属性管理 -->
<properties>
    <java.version>17</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    
    <!-- 依赖版本统一管理 -->
    <spring-boot.version>3.1.0</spring-boot.version>
    <mybatis.version>3.0.2</mybatis.version>
</properties>

<!-- 依赖管理(BOM) -->
<dependencyManagement>
    <dependencies>
        <!-- Spring Boot BOM -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>${spring-boot.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<!-- 公共插件配置 -->
<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.11.0</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>
</project>
bash 复制代码
## 子模块配置示例
**my-common/pom.xml**:

xml

<?xml version="1.0" encoding="UTF-8"?>

<project>

<parent>

<groupId>com.example</groupId>

<artifactId>my-multi-module-project</artifactId>

<version>1.0.0</version>

</parent>

<artifactId>my-common</artifactId>

<dependencies>
    <!-- 通用依赖 -->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
</dependencies>

</project>
复制代码
## 依赖关系规则
1. **禁止循环依赖**:通过 maven-enforcer-plugin 检查
2. **作用域传递**:注意 compile/runtime/provided/test 的区别
3. **版本继承**:子模块默认继承父模块的 dependencyManagement

## 构建命令

构建所有模块

mvn clean install

构建指定模块及其依赖

mvn clean install -pl my-web -am

跳过测试

mvn clean install -DskipTests

查看依赖树

mvn dependency:tree

复制代码
复制代码
## 最佳实践
1. 使用 `<dependencyManagement>` 统一管理版本
2. 公共依赖放在父POM,特有依赖放在子模块
3. 避免模块间过度耦合
4. 为每个模块编写独立的 README

使用建议

1. 如何选择模板

  • 新项目初始化 :使用 maven-project-setup

  • 现有项目优化 :使用 maven-dependency-analyzer

  • 构建流程定制 :使用 maven-plugin-config

  • 复杂系统拆分 :使用 maven-multi-module

2. 创建 Skill 的步骤

复制代码
复制代码
# 1. 创建技能目录
mkdir -p .trae/skills/maven-project-setup

# 2. 创建 SKILL.md 文件
touch .trae/skills/maven-project-setup/SKILL.md

# 3. 复制上面的模板内容
# 4. 根据实际需求修改

3. 触发技巧

在 TRAE 中使用以下关键词触发:

  • "创建一个 Spring Boot 项目"

  • "分析这个 pom.xml 的依赖"

  • "配置 Maven 打包插件"

  • "设计一个多模块的电商系统"

4. 自定义扩展

可以根据团队规范定制:

  • 统一的公司内部依赖版本

  • 特定的代码规范检查规则

  • 自定义的目录结构

  • 团队内部的插件配置

这些模板可以直接使用,也可以根据你的具体需求进行组合和修改。建议先从 maven-project-setup开始,这是最常用的场景。

相关推荐
人工智能AI技术1 小时前
Git 基础:分支、提交、合并、回滚完整教程
人工智能
GitCode官方2 小时前
Qwen3.6-27B 开源:昇腾适配已到位,AtomGit AI 开放体验
人工智能·开源
Swift社区2 小时前
如何设计 Agent 的权限系统与业务系统解耦?
人工智能·agent
XiYang-DING2 小时前
【Java EE】单例模式
java·单例模式·java-ee
地球资源数据云2 小时前
1951-2025年中国逐年1千米逐月总降水量区域统计数据集_年表_县
大数据·数据结构·数据库·数据仓库·人工智能
Agent产品评测局2 小时前
断网可用:企业级智能体全本地化离线部署完整方案 —— 2026年私有化AI架构实测与选型指南
人工智能·ai·chatgpt·架构
月诸清酒2 小时前
43-260424 AI 科技日报 (DeepSeek-V4/GPT5.5发布)
人工智能
小猪咪piggy2 小时前
【AI 赋能测试】(1) AI 赋能测试流程
人工智能
武汉知识图谱科技2 小时前
广州海珠智能体案例中的“咨询+干预+随访”多智能体协作:医疗AI从“单点工具”到“执行系统”的范式转移
人工智能