# spring-boot-initializr **Repository Path**: pollyduan/spring-boot-initializr ## Basic Information - **Project Name**: spring-boot-initializr - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 20 - **Forks**: 10 - **Created**: 2017-08-18 - **Last Updated**: 2024-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Spring Initializr 定制修改版本 === [toc] 使用 Spring Initializr 版本搭建的私服。 ### 为什么要搞这么个玩意? 我们知道,不管你用eclipse还是idea开发springboot项目,都是连接到官方的脚手架网站:http://start.spring.io 由于一些原因,经常访问很慢,或者干脆访问不了。 这时候,对于比较熟悉的同学,可以自己手动从空maven项目创建spring项目。 如果我们自己搭建一个私服在自己的机器上,以上的问题就迎刃而解了。 ### 项目背景 官网:https://github.com/spring-io/initializr 定制了标准的配置文件。 增加了自定义的依赖的功能,只需要修改 *application-thirdparty.yml* ,在 *custom.dependencies.content* 中增加依赖即可。依赖的配置方式参见标准配置。 ### 运行 #### 直接运行 目前整合了私服的依赖,增加了每隔6小时同步一次远程服务器的数据。暂时同步周期没写入配置文件。 本机缓存在/tmp/spring-boot 文件中。 ``` ./mvnw spring-boot:run ``` 打开 http://127.0.0.1:8080 就可以了。 在IDE中使用时,用自己的地址替换它。 你可以配置个自己的域名和端口。 #### docker 运行 ``` docker run -tid --name spring-initializr -p 8080:8080 pollyduan/start_spring_io:2.1.3 ``` - 这里的版本号不是项目版本,而是docker 镜像的版本,我直接使用了打包镜像的缓存最高版本作为镜像代码了。 #### docker-compose ``` docker-compose up -d ``` ### 定制个性化依赖 修改 application-thirdparty.yml 配置,按照模板,增加自己的starter或普通jar。 ```yaml custom: dependencies: name: 自定义第三方依赖 content: - name: Guava id: guava group-id: com.google.guava artifact-id: guava version: 23.0 description: Google guava utils weight: 100 ``` 如果你希望使用properties格式: ```properties custom.dependencies.name=自定义第三方依赖 custom.dependencies.content[0].name=OkHttp3 custom.dependencies.content[0].id=okhttp3 custom.dependencies.content[0].groupId=com.squareup.okhttp3 custom.dependencies.content[0].artifactId=okhttp custom.dependencies.content[0].version=3.2.0 custom.dependencies.content[0].description=okhttp api custom.dependencies.content[0].weight=100 ``` 注意:name和id属性编辑器可能会提示错误,不用管。 ### 框架版本更新 如果你的网络访问官网没问题,这个不需关心。 如果偶尔可以连,那么可以执行脚本更新。 ``` update-cache.sh ``` 然后重新构建。 实际上只是替换了一个cache文件,也可以去可以下载地方拿到这个文件,覆盖对应的cache文件,具体就不多说了。 ### 编译(已过期) 如果依赖失败,需要自己编译依赖。此web项目依赖官方仓库,如果自行编译本项目,需要下载官方仓库,编译需要的版本。 ``` git checkout -b temp # 该版本为项目需要的版本 git reset --hard 1d326c7b82f3ca324776571ba8fa8e5f764e136c mvn clean package install -rf :initializr-web # 清场 git checkout master git branch -d temp ``` 回到当前项目: ``` mvn clean package ``` 遇到问题可Q群聊:9040323