Skip to main content

下载并解压 Spring 框架代码

Project description

spring-initializer

能做什么

从 Spring 官网下载并解压以生成 spring boot 框架代码。

存在的意义

一般通过 Idea 从 https://start.spring.io/ 下载框架代码,但很诡异的是,经常会出现浏览器可以访问,但 Idea 无法下载的问题,尝试通过 curl 等 Linux 命令行 web 客户端下载,依然有概率出现连接超时的问题。

网上给出的解决方案是将 Spring 官网源替换为阿里源,我本来也打算这么干,但发现阿里源使用的是过时版本,版本支持上与官网不一致,因此就有了这个工具。

本工具的旨在通过其它方式无法快速下载 Spring 框架代码时,可以通过这个工具从官网下载,工具内设置了超时重试机制,默认是尝试10次,每次 2s 超时后重新尝试。

下载完后会自动解压,解压完成后会删除原始压缩包。

使用这个工具的另一个好处是可以扩展框架代码部署行为,比如最近几个版本的 Spring 中默认的 Lombok 存在 bug,需要将其指定为最新版,每次创建项目都要来这么一下,否则运行就会报错,完全可以在这个工具中自定义 pom 修改逻辑,让修改 pom 自动化完成。当然,目前没有这个功能,等以后更新或者你自行 fork。

安装

本工具用 Python 编写,通过 pip 安装:

pip install spring-initializer

更新使用以下命令:

pip install --upgrade spring-initializer

使用

通过 Python 模块方式运行:

python -m spring_initializer

更推荐以短命令方式运行:

pysi

不使用任何参数执行命令,会在工作目录下生成一个spring_demo目录,框架代码部署在其中。默认生成的是 Maven 项目,包含(spring-web 和 lombok)这两个常用依赖,使用的 Java 语言级别是 21。

可以通过命令行参数修改默认行为,比如指定目录名或生成 Gradle 项目等,参数说明可以通过以下命令查看:

pysi -h

运行环境

原则上本工具支持多平台,但并未在 Linux/Mac OS 中经过充分验证。

问题反馈

可以给我发邮件:icexmoon@qq.com

或者通过 github:Issues · icexmoon/spring-initializer

更新记录

1.0.2

修复使用短命令时程序会执行两次的 bug

1.0.1

增加 Readme 说明

1.0.0

创建。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spring_initializer-1.0.2.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spring_initializer-1.0.2-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file spring_initializer-1.0.2.tar.gz.

File metadata

  • Download URL: spring_initializer-1.0.2.tar.gz
  • Upload date:
  • Size: 11.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.5

File hashes

Hashes for spring_initializer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 093b6b840c85a31e5f69b4f8f5b5d5f143b37635e621b5369e1fd459bf36dd4f
MD5 c1b2af0c318133f23fbbd05625e29c2f
BLAKE2b-256 995d5e59a648165413252f4902b2fb2426f41c60b813b86930179c383ef3f22f

See more details on using hashes here.

File details

Details for the file spring_initializer-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for spring_initializer-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8fd54d189957f96ac390833104fbe4e51966bb8ad8761f1f88e02b403f972ec1
MD5 660419be3e26e7dcaefe0ca4a6b4c18b
BLAKE2b-256 0172003afaf6f5b2671676143c630b24d9466a7ea353b312b064fff9f7f0d947

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page