手元に弱々なPCしかなくてもブラウザ上でいい感じに開発できるGitHub CodespacesでJavaを使いたい場合の手順。
「プロになるJava」をCodespecesでやるなら、という想定で書いてます。
Cpdespaceの用意
https://github.com/codespaces にアクセスして「Blank」で「Use this tempalte」を選びます。
そうすると、
Codespacesのページには、作られた環境が表示されています。適当な名前が自動で付けられますが、「bug-free capybara」になっています。バグのないカピバラ、いい名前。
Java環境の導入
左の「拡張機能」をクリックします。
検索に「java」と入力すると「Extension Pack for Java」が現れるので、これをインストールします。
インストールが始まります。
「ようこそ」のタブにJavaの説明がでます。
Javaプロジェクトの作成
では、Javaプロジェクトを作成します。「エクスプローラー」の枠で右クリックして、Maven > New Projectを選びます。
New Maven Projectでまずは「No Archetype」をクリックします。
「Input group id of your project」と出るので、「com.example」のままenterキーを押します。
「Input artifact id(also as project name) of your project」と出るので「projava」と入力してEnterキーを押します。
作成するフォルダが表示されるので、そのままEnterキーを押します。
コードエクスプローラーに「projava」フォルダができています。
下部にJAVA PROJECTSとMAVENというのができています。Import Projectボタンを押すとMAVENの中の項目が表示されます。
JAVA PROJECTの中にprojavaプロジェクトが表示されるようになりました。
以降はこのJAVA PROJECTを基準に操作をしていきます。
Javaクラスの作成
それではJavaのプログラムを書きましょう。
src/main/javaの右に+ボタンが出るので、これをクリックします。
作るものを選ぶようになるので「Class」をクリックします。
クラス名を入力するようになるので「projava.Hello」を入力してEnterキーを押します。
こんな感じのファイルができます。
Helloの行のあとで改行して「main」を入力したあとTabキーを押します。
いろいろ入力されます。
「sout」と入力してTabキーを押します。
またいろいろ入力されます。
ここに「"Hello World"」と入力します。
「Run」というところをクリックするとプログラムが実行されます。
わかりにくいですが、「ターミナル」にHello Worldと表示されています。
また、src/main/javaの下にprojavaもできているので、次からはここで+を押すとprojavaの下にクラスができます。
JShellの起動
ターミナルで「jshell」と入力してEnterキーを押すとJShellが起動します。
ポートの公開
たとえば次のようなWebサーバーを動かします。
package projava; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; public class WebServer { public static void main(String[] args) throws IOException { var server = new ServerSocket(8880); for (;;) { try (var soc = server.accept(); var isr = new InputStreamReader(soc.getInputStream()); var bur = new BufferedReader(isr); var w = new PrintWriter(soc.getOutputStream())) { System.out.println("Connected from " + soc.getInetAddress()); bur.lines() .takeWhile(line -> !line.isEmpty()) .forEach(System.out::println); w.println(""" HTTP/1.1 200 OK content-type: text/html <html><head><title>Hello</title></head> <body><h1>Hello</h1>It works!</body></html> """); } } } }
実行すると、このポートをブラウザでアクセスするかどうか確認が出るので「ブラウザで開く」をクリックします。
そうすると、一時的なURLが割り当てられて、このポートにアクセスできるようになります。
このポートは下部の「ポート」タブで確認ができます。
Spring Boot編に続く
GitHub CodespacesでSpring Bootの開発を始める - きしだのHatena