一笑插件开发踩坑记录🔥

9/11/2024 IDEA翻译插件效率踩坑记录

# Gradle项目配置的区别

image-20240921225953986

  1. 包装器(Wrapper)

    • 说明:Gradle Wrapper 是推荐的方式,它可以保证不同开发环境中使用相同的 Gradle 版本,因为项目中会自带一个gradle-wrapper.properties文件,指定了项目使用的 Gradle 版本。每次构建时,IDE 会自动使用指定的版本,不需要手动安装或配置 Gradle。
    • 适用场景:如果你希望项目在不同开发环境下统一使用某个指定版本的 Gradle,建议选择此选项。特别是团队开发时,Wrapper 能避免因为不同开发者使用不同版本的 Gradle 而导致的构建问题。
  2. 包装器任务(Wrapper Task)

    • 说明:包装器任务会根据项目需要生成 Gradle Wrapper。这是一个临时选项,当项目中没有 Wrapper 时使用它生成相应的 Wrapper。
    • 适用场景:当项目没有提供 Gradle Wrapper,你希望通过此选项自动生成 Wrapper 并配置。
  3. 本地安装(Local Installation)

    • 说明:如果你在本地手动安装了 Gradle,并希望使用该安装的版本进行构建,可以选择此选项。你需要在系统中设置好 Gradle 的路径。
    • 适用场景:当你有一个稳定的 Gradle 版本安装在本地,并且你希望所有项目都使用本地安装的 Gradle 来统一管理版本时可以选择此项。

# 建议:

  • 如果项目已经配置了 Gradle Wrapper(即项目根目录下有gradle/wrapper/gradle-wrapper.properties文件),推荐选择包装器(Wrapper),这可以确保所有开发者和 CI/CD 环境中使用相同的 Gradle 版本,避免版本不一致的问题。
  • 如果没有 Wrapper 且需要生成,你可以先使用**包装器任务(Wrapper Task)**来生成。
  • 如果你需要手动控制 Gradle 版本并且不想使用项目自带的 Wrapper,才考虑选择本地安装

# 打包Jar选择错误

image-20240921230217052

1.jar 任务:这是标准的 Gradle 任务,用于构建 JAR 文件。它会将所有必要的类文件打包成一个 JAR 文件,并且可以通过 assemblebuild 任务来触发。这个任务通常用于构建标准的 Java 项目,无论是库还是应用程序,它都会把编译后的类和资源文件打包在一起。

2.intellij 任务下的 buildPlugin 任务:这个任务是 IntelliJ 插件相关的打包任务,专门为构建 IntelliJ IDEA 插件而设计。该任务不仅会打包 JAR 文件,还会包括插件相关的元数据和其他必要的配置(如插件描述文件、图标、依赖等),确保可以直接发布或运行插件。

# 两者的主要区别:

  • 打包目的不同jar 任务用于构建标准的 Java 项目,而 buildPlugin 任务则是专门为 IntelliJ 插件项目服务,适合打包插件发布或者本地调试。
  • 内容不同jar 任务只会打包编译后的类文件和资源文件,而 buildPlugin 任务会额外打包 IntelliJ 插件所需的配置文件和依赖,比如 plugin.xml 等。
  • 依赖管理:在 intellij 插件开发中,buildPlugin 任务会确保插件的依赖能够与 IntelliJ 环境兼容,甚至可能下载 IntelliJ 的 SDK,而标准的 jar 打包任务不会做这些事情。

Initializing...

    网站公告

    欢迎加入一笑技术交流群,备注来意
    毒液3线上资源&GPT4O资源,欢迎联系我

    我很快乐-周兴哲
    致逝去的青春