繁体   English   中英

在 IntelliJ IDEA 中创建 Java Gradle 项目并构建 .jar 文件 - 如何?

[英]Creating a Java Gradle project and building the .jar file in IntelliJ IDEA - How to?

是否有教程解释如何正确创建 Java Gradle 项目并构建 .jar 文件?

当我创建一个 Java 项目并添加 Gradle 时:文件 -> 新建 -> 模块 -> Gradle ->... 我收到有关 Java EE websocket 不可用的错误(我使用的是终极版)。 但是,我可以通过选择 File -> New -> Project-> Gradle -> 成功创建一个项目,这为我提供了一个可以调试的带有 Gradle 的 Java 项目。 但是,当我尝试创建工件(.jar 文件)时,我收到错误消息。 我假设这些错误源于我在项目结构设置中犯的错误。

Buildfile: build.xml does not exist!
Build failed

要么

Error: Could not find or load main class Main

此时我的项目一团糟,也许我应该创建另一个项目,然后将 Main.class 和 Gradle 的依赖项从旧项目复制/粘贴到新项目中。

如果这是我的最佳选择,这次我该如何正确创建项目?

  1. 创建新的 Gradle(不是 Java)项目。 请务必在对话框中选择 Java 选项。 点击下一步。 在此处输入图像描述

  1. 填写GroupId、ArtifactId和版本在此处输入图像描述

  1. 选择你的 gradle 发行版。 您可以安全地使用推荐的选项。 在此处输入图像描述

  1. 选择项目名称和位置在此处输入图像描述

  1. 点击完成

  1. 您将 java 类放入 src/main/java 文件夹。 使用第三方库时,请确保将它们声明为 Gradle 依赖项。 在此处输入图像描述

  1. 您使用 Gradle 选项卡 → 任务 → 构建(双击)构建您的源代码在此处输入图像描述

  1. 您可以在“运行”选项卡中看到构建的结果在此处输入图像描述

  1. 如果出现错误,您可以单击以下按钮查看详细信息: 在此处输入图像描述

万一您遇到可执行Jar文件未运行的no main manifest attribute问题,我将执行以下操作。

1:转到您的build.gradle并在底部添加以下内容。

jar {
    manifest {
        attributes 'Main-Class': 'your_package_name.YOUR_MAIN_CLASS'
    }
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}

在此处输入图像描述

  1. 转到View > Tool Windows > Gradle

在此处输入图像描述

  1. 将显示右侧的面板,现在单击build以获取更多任务。 build任务下双击build选项并等待任务完成。

在此处输入图像描述

  1. 现在,转到您的项目目录并打开build > libs ,可执行的Jar文件将在那里。

我不确定这是否是正确的方法。
如果有效则无需接受,希望这对其他人有所帮助。

第 1 步:将这些行添加到您的build.gradle

jar {
from {
    configurations.runtime.collect {
        it.isDirectory() ? it : zipTree(it)
    }
    configurations.compile.collect {
        it.isDirectory() ? it : zipTree(it)
    }
}
manifest {
    attributes 'Main-Class': 'YOUR MAIN CLASS'
}

exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA'
}

第 2 步: cleanbuild .

我相信它会起作用, 问候

如果您使用的是 Intellij,则只需打开 Gradle 插件(它位于 IDE 的右侧)并执行命令:bootRepackage。 有了这个,您将在以下位置拥有一个 jar:your_project_folder/build/libs。

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM