# 将 Java 库发布到 Maven 仓库

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

本教程旨在演示如何使用 IntelliJ IDEA 将在 Gradle 项目中创建的 Java 库发布到本地 Maven 仓库，然后发布到远程 Maven 仓库。

让我们从创建一个 Gradle 项目开始。

Procedure: 创建新的 Gradle 项目

1. 在 IntelliJ IDEA 主屏幕上，选择  `新建 | 项目` 。

![从主屏幕创建新项目](https://resources.jetbrains.com/help/img/idea/2026.3/ij_home_screen_new_project.png)

如果起点是已在 IntelliJ IDEA 中打开的项目，请在主菜单中转到  `文件 | 新建 | 项目` 。

2. 在打开的页面上，从左侧的选项列表中选择   Java  。 输入项目名称。 在本例中为  gradle-publish ，选择   Gradle  ，将其余选项保留为默认值，然后点击   创建  。

![新建项目对话框：选择 Gradle](https://resources.jetbrains.com/help/img/idea/2026.3/new_project_gradle.png)

IntelliJ IDEA 创建一个 Gradle 项目并启用   Gradle   工具窗口。

现在让我们稍微调整一下   build.gradle.kts  文件，因为我们需要添加对 Java 库的支持并构建我们的项目。

Procedure: 编辑 build.gradle.kts

1. 在   项目   工具窗口中，点击  `build.gradle.kts`  文件两次以在编辑器中打开它。

此时  `build.gradle.kts`  包含以下代码：

```KOTLIN
plugins {
    id("java")
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    testImplementation(platform("org.junit:junit-bom:6.0.0"))
    testImplementation("org.junit.jupiter:junit-jupiter")
    testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}

tasks.test {
    useJUnitPlatform()
}

```

2. 在  `plugins` 部分，将  `"java"` 更改为  `"java-library"` 。

```KOTLIN
plugins {
    id("java-library")
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    testImplementation(platform("org.junit:junit-bom:6.0.0"))
    testImplementation("org.junit.jupiter:junit-jupiter")
    testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}

tasks.test {
    useJUnitPlatform()
}

```

3. 在编辑器中点击 ![同步 Gradle 更改图标](https://resources.jetbrains.com/help/img/idea/2026.3/gradle.icons.gradleLoadChanges.svg) (   同步 Gradle 更改  ) 以将更改同步到项目。

4. 请使用  `src/main/java`  目录为您的库添加代码。

5. 现在在   Gradle  工具窗口中，点击项目节点，点击   任务，  然后   构建  。

6. 在打开的列表中，双击   构建   来执行生成我们  `.jar`  文件的构建任务。

![Gradle 工具窗口](https://resources.jetbrains.com/help/img/idea/2026.3/gradle_build_task.png)

因此，我们在   项目   工具窗口中的  `build/libs`  目录下生成了一个  `.jar`  文件。

![项目工具窗口](https://resources.jetbrains.com/help/img/idea/2026.3/gradle_publish_jar.png)

现在，让我们遵循 Maven 约定并为库指定 Maven 坐标。 由于 IntelliJ IDEA 在创建项目时已经添加了  `GroupId`  和  `版本` ，我们唯一需要更改的是  `ArtifactId` 。

Procedure: 更改 ArtifactId 并生成 JAR 文件

1. 在   项目   工具窗口中，点击  `settings.gradle.kts`  文件两次以在编辑器中打开它。 将  `rootProject.name`  从  `gradle-publish`  更改为  `my-artifact-id` 。

```KOTLIN
rootProject.name = "my-artifact-id"

```

2. 点击 ![同步 Gradle 更改图标](https://resources.jetbrains.com/help/img/idea/2026.3/gradle.icons.gradleLoadChanges.svg)   同步 Gradle 更改   以同步更改。

3. 在   Gradle   工具窗口中，点击   任务  。

4. 先在   构建  目录中双击   清理  任务以执行它，然后执行   构建  任务。

IntelliJ IDEA 将生成一个  `.jar`  文件，其中包含符合 Maven 命名约定且已更新的 artifact 名称的信息。

![项目工具窗口](https://resources.jetbrains.com/help/img/idea/2026.3/my_artifact_jar.png)

现在，让我们继续处理构建脚本，并将库发布到本地 Maven 仓库。

Procedure: 将库发布到本地 Maven 存储库

1. 打开   build.gradle.kts   文件并将  `id("maven-publish")`  添加到  `plugins`  部分。

2. 点击 ![同步 Gradle 更改图标](https://resources.jetbrains.com/help/img/idea/2026.3/gradle.icons.gradleLoadChanges.svg) (   同步 Gradle 更改  ) 以将更改同步到项目。

3. 在   Gradle   工具窗口的   publishing   部分中，点击   publishToMavenLocal   两次以运行任务。

IntelliJ IDEA 会创建一个 JAR 文件，并根据操作系统将其添加到以下目录：

macOS:
`/Users/<user_name>/.m2/[Artifact GroupID]/[Artifact Name]/[Artifact Version]`

Unix / Linux:
`/home/<user_name>/.m2/[Artifact GroupID]/[Artifact Name]/[Artifact Version]`

Windows:
`C:\Users\<User_Name>\.m2\[Artifact GroupID]\[Artifact Name]\[Artifact Version]`

我们可以进一步编辑  `build.gradle`  文件，以将我们的库发布到远程存储库。

Procedure: 发布到远程仓库

1. 在   build.gradle.kts  文件中添加以下部分：

```KOTLIN
publishing {
    publications {
        create<MavenPublication>("myLib") {
            from(components["java"])
        }
    }
    repositories {
        maven {
            name = "MyRepo" // optional target repository name
            url = uri("http://my.org.server/repo/url")
            credentials {
                username = "alice"
                password = "my-password"
            }
        }
    }
}
                
```

2. 点击 ![同步 Gradle 更改图标](https://resources.jetbrains.com/help/img/idea/2026.3/gradle.icons.gradleLoadChanges.svg) (   同步 Gradle 更改  ) 以将更改加载到项目中。

3. 在   Gradle   工具窗口中，打开   publishing   部分并点击   publishAllPublicationsToMyRepository   两次以运行任务。

![Gradle 工具窗口：publish 任务](https://resources.jetbrains.com/help/img/idea/2026.3/gradle_tool_window_publish_task.png)

有关自定义 POM 文件、使用不同的快照或发布仓库的更多信息，请参阅 [Gradle 文档](https://docs.gradle.org/current/userguide/publishing_maven.html)。

