我在云工作站上创建了一个Spring Boot的开发环境

首先

你好,我是京瓷通信系统的福留(@kccs_kazuo_fukudome)。

最近,GCP 公布了新功能 Cloud WorkStations。
参考:https://cloud.google.com/blog/ja/products/application-development/introducing-cloud-workstations

Cloud WorkStations 是在 Google Cloud Platform 上提供开发环境的服务。使用 Cloud WorkStations 的好处包括可以在任何连接互联网的环境中访问开发环境,正如发表的文章中所述。此外,还可以统一配置开发环境,方便复制开发环境。而且即使更换本地 PC,也无需重新创建开发环境。

一方,Cloud WorkStations的屏幕操作是通过浏览器进行的。如果网络速度变慢,输入的代码可能无法在屏幕上显示,会让人感到沮丧。但是,考虑到最近的网络速度,这个问题几乎是可以忽略不计的。

这次我在 Cloud WorkStations 上创建了一个 Spring Boot (Gradle) 的开发环境,现在来介绍一下。

本篇文章是在2022年12月左右创建的。
若使用Google Cloud的功能,将产生费用。

这篇文章的目标读者。

    • Cloud WorkStations を触ってみたい人

 

    • 開発環境の提供や運用に困っている人

 

    Java の開発環境を簡単につくりたい人

创建一个工作站

image3.png

“Base Editor (Code OSS)”的初始设置和开发套件安装

image4.png

接下来,需要安装以下的软件包来开发Spring Boot(Gradle)。

    • Extension Pack for Java

 

    • Spring Boot Extension Pack

 

    Gradle Tasks
image7.png

使用Spring Boot(Gradle)创建项目。

使用Spring Boot(Gradle)创建项目。显示”命令调色板”,然后输入”Spring init”,将显示项目创建命令”Spring初始化:创建Gradle项目…”,选择该命令。

image9.png

需要你输入Spring Boot项目的初始设置。请根据你开发的版本和环境进行设置。

image17.png
image18.png

当移动到保存目录文件夹后,开始由Gradle进行编译,但出现了以下错误。

以下是可能的中文翻译:

1. “无法解析 ‘:classpath’ 的所有配置文件。”
“无法解析 org.springframework.boot:spring-boot-gradle-plugin:3.0.0。”

image19.png

春节的库无法解决问题,但是我查找了很多资料也没有找到原因。因此,我更改了Gradle的设置,将Spring Boot的库从”3.0.0″系列改为”2.7.0″系列,问题得到了解决。

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.5'
	id 'io.spring.dependency-management' version '1.1.0'
	id 'org.graalvm.buildtools.native' version '0.9.18'
}

group = 'jp.co.kccs'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
image20.png

我尝试显示“Hello World”。

接着,我创建了一个用于 Hello World 的控制类,并从 GRADLE TASKS 中启动了 Spring Boot 应用程序。

package jp.co.kccs.testapp;

import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
@CrossOrigin
public class HelloWorldController {

	@GetMapping("/")
	@ResponseBody
	public String response1() throws Exception {
		return "Hello World!! From Google Cloud WorkStations Dev";
	}
}

image21.png

成功启动了Spring Boot应用程序。

image22.png
image23.png

总结

这次,我们手动安装了”Extension Pack for Java”等 IDE 的扩展包和 Spring Boot 的初始设置。然而,在 Cloud WorkStations 的“配置”中,有一个地方可以输入初始执行命令。通过利用这个功能,我们可以自动安装 IDE 的扩展包,以及 Spring Boot 等的初始设置,进一步简化开发环境的搭建。如果有机会的话,我们也考虑在未来的博客中介绍这种设置方法。

bannerAds