你使用的是 IntelliJ IDEA 2018 ,这个版本虽然不是最新的,但完全支持通过 图形化界面 打 JAR 包(无需命令行),非常适合你在公司内部将 Snowflake 模块打包成通用组件。
下面我将 手把手、一步一步、图文流程式地教你 ,如何在 IDEA 2018 中把你的 Snowflake 模块打包成一个 .jar 文件。
✅ 目标:用 IDEA 2018 图形化打 JAR 包
🎯 最终产出:一个类似
snowflake-id-generator-1.0.jar的文件,别人引入就能用!
🧱 前提条件
确保你的项目结构如下:
MySnowflakeProject/
├── src/
│   └── main/
│       └── java/
│           └── com/example/snowflake/
│               ├── SnowflakeIdGenerator.java
│               ├── SnowflakeProperties.java
│               └── SnowflakeAutoConfiguration.java
├── resources/
│   └── META-INF/
│       └── spring.factories   ← 关键!自动配置入口
└── pom.xml                    ← Maven 项目✅ 确保
spring.factories内容正确:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.snowflake.SnowflakeAutoConfiguration🖱️ 第一步:打开 Project Structure
- 
在 IDEA 2018 中打开你的项目 
- 
点击顶部菜单:File → Project Structure... (快捷键: Ctrl + Alt + Shift + S)(示意图:菜单位置) 
🖱️ 第二步:进入 Artifacts 配置
- 
在弹出的窗口左侧,选择 Artifacts 
- 
你会看到一个空列表,点击右边的 + 号(绿色加号) 
- 
选择:JAR → From modules with dependencies... 
🖱️ 第三步:配置 JAR 打包参数
弹出窗口如下:
1. 选择 Module
- 在下拉框中选择你的模块,例如:MySnowflakeProject.main
如果没看到,说明模块没被识别,先确认
pom.xml是否已正确导入(右键 → Maven → Reload Project)
2. Main Class(可选)
- 因为我们是 库(Library) ,不是可运行程序,所以这里不需要填
- 你可以留空,或者取消勾选 "Main class"
3. 重要:勾选 "Include in project build"
✅ 务必勾上这一项!
表示你可以通过菜单 Build → Build Artifacts 来打包
4. Output directory(输出路径)
- 
默认是 out/artifacts/...
- 
你可以点击旁边的文件夹图标,自定义输出路径 ,比如: D:\company-jars\snowflake-id-generator.jar
点击 OK → 再点击右下角 Apply → OK
🖱️ 第四步:构建 JAR 包(点鼠标就行)
- 
菜单栏:Build → Build Artifacts 
- 
在子菜单中选择你刚创建的 Artifact,例如: Build 'MySnowflakeProject:jar' → Rebuild(第一次用 Rebuild,之后改代码再用 Build) 
- 
等待几秒钟,底部状态栏会显示: Build artifact MySnowflakeProject:jar: SUCCESS
✅ 成功了!
📦 第五步:找到生成的 JAR 文件
去你刚才设置的输出目录找,比如:
D:\company-jars\MySnowflakeProject.jar你可以把它重命名为更友好的名字,比如:
snowflake-id-generator-1.0.jar📥 第六步:在其他项目中使用这个 JAR
方法一:本地依赖引入(适合测试、小团队)
步骤 1:把 JAR 放到目标项目的 lib 目录
比如在另一个 Spring Boot 项目中:
order-service/
├── src/
├── pom.xml
└── lib/
    └── snowflake-id-generator-1.0.jar步骤 2:修改 pom.xml
        <dependency>
    <groupId>com.company</groupId>
    <artifactId>snowflake-starter</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/snowflake-id-generator-1.0.jar</systemPath>
</dependency>步骤 3:刷新 Maven
右键 pom.xml → Maven → Reload Project
✅ 你会在 External Libraries 中看到这个 JAR
步骤 4:使用
@Autowired
private SnowflakeIdGenerator idGenerator;
public void createOrder() {
    long id = idGenerator.nextId();
}方法二:安装到本地 Maven 仓库(推荐,便于管理)
虽然你说不用命令行,但这个命令非常简单,只需执行一次:
mvn install:install-file ^
  -Dfile=D:\company-jars\snowflake-id-generator-1.0.jar ^
  -DgroupId=com.company ^
  -DartifactId=snowflake-starter ^
  -Dversion=1.0 ^
  -Dpackaging=jar然后在其他项目中就可以像普通依赖一样用了:
<dependency>
    <groupId>com.company</groupId>
    <artifactId>snowflake-starter</artifactId>
    <version>1.0</version>
</dependency>⚠️ 常见问题(IDEA 2018 特有)
| 问题 | 解决方法 | 
|---|---|
| ❌ 找不到 spring.factories | 检查 resources/META-INF/是否被正确包含 → 在 Artifact 配置中确认resources被打包进去 | 
| ❌ 打包后没有 .class文件 | 确保项目已编译(Build → Build Project) | 
| ❌ Build Artifacts菜单灰色 | 检查是否成功创建了 Artifact,且项目没有错误 | 
| ❌ 依赖没打进去 | 如果你想打包所有依赖(fat jar),需要额外配置,但我们这里是只打包自己的代码,依赖由使用者引入 | 
✅ 总结:IDEA 2018 打 JAR 包流程(5步)
| 步骤 | 操作 | 
|---|---|
| 1️⃣ | File → Project Structure → Artifacts → + → JAR → From modules... | 
| 2️⃣ | 选择模块,不填 Main Class,勾选 Include in project build | 
| 3️⃣ | 设置输出路径(如 D:\jars\) | 
| 4️⃣ | Build → Build Artifacts → Rebuild | 
| 5️⃣ | 去输出目录拿 JAR,分发给团队使用 ✅ | 
🎯 最终效果:
任何一个同事拿到这个 JAR,引入项目,配置一下
application.yml,就能直接用@Autowired SnowflakeIdGenerator生成唯一 ID!
这就是 企业级组件化开发 的标准做法!