ちょっと使ってみる。
パッケージマネージャ Chocolatey は 先に入れておいた ので、これを使ってインストール。
PowerShellにて"choco install sbt"と入力
PS C:\WINDOWS\system32> choco install sbt Chocolatey v0.10.11 Installing the following packages: sbt By installing you accept licenses for the packages. Progress: Downloading sbt 1.2.8... 100% sbt v1.2.8 [Approved] sbt package files install completed. Performing other installation steps. The package sbt wants to run 'chocolateyInstall.ps1'. Note: If you don't run this script, the installation will fail. Note: To confirm automatically next time, use '-y' or consider: choco feature enable -n allowGlobalConfirmation Do you want to run the script?([Y]es/[N]o/[P]rint): Y WARNING: No registry key found based on 'sbt*' WARNING: sbt has already been uninstalled by other means. Downloading sbt from 'https://piccolo.link/sbt-1.2.8.msi' Progress: 100% - Completed download of C:\Users\user\AppData\Local\Temp\chocolatey\sbt\1.2.8\sbt-1.2.8.msi (45.58 MB). Download of sbt-1.2.8.msi (45.58 MB) completed. Hashes match. Installing sbt... sbt has been installed. sbt may be able to be automatically uninstalled. Environment Vars (like PATH) have changed. Close/reopen your shell to see the changes (or in powershell/cmd.exe just type `refreshenv`). The install of sbt was successful. Software installed as 'MSI', install location is likely default. Chocolatey installed 1/1 packages. See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log). PS C:\WINDOWS\system32>
Scala用のフォルダを作成
ここでは C:\work フォルダを作成、ここに参考ページのサンプルソース(Hello.scala)を作成。
object Hello { def main(args: Array[String]) = { println("Hello, World!") } }
PowerShellを終了し、もう一度PowerShellを起動後、パスを "C:\work"に変更し "sbt" と入力
Scalaの環境を構築する
PS C:\work> sbt [warn] Neither build.sbt nor a 'project' directory in the current directory: C:\work c) continue q) quit ? c The Java Development Kit (JDK) installation you have is not up to date. sbt requires at least version 6+, you have version 0 Please go to http://www.oracle.com/technetwork/java/javase/downloads/ and download a valid JDK and install before running sbt. '"java"' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 PS C:\work>
→ Java が必要でした。
Oracle JDKでいいのかな?
示されたリンクから Java (Java SE 11.0.2(LTS) jdk-11.0.2_windows-x64_bin.exe) をダウンロードし、インストール。
環境変数 JAVA_HOME に "C:\Program Files\Java\jdk-11.0.2" を追加
PowerShellをまた立ち上げ直し "sbt" コマンド
今度は動き始めた。(大量に画面表示されるので内容をblogに張り付けるのはやめておく)
終わるとプロンプトが "sbt:work" となった。
これでコンパイルが終わっているらしいの "run"コマンドで実行
Hello World! と表示されました。
sbt:work> run [info] Compiling 1 Scala source to C:\work\target\scala-2.12\classes ... [info] Done compiling. WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.google.protobuf.UnsafeUtil (file:/C:/Users/user/.sbt/boot/scala-2.12.7/org.scala-sbt/sbt/1.2.8/protobuf-java-3.3.1.jar) to field java.nio.Buffer.address WARNING: Please consider reporting this to the maintainers of com.google.protobuf.UnsafeUtil WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release [info] Packaging C:\work\target\scala-2.12\work_2.12-0.1.0-SNAPSHOT.jar ... [info] Done packaging. [info] Running Hello Hello, World! [success] Total time: 2 s, completed 2019/01/23 3:23:02 sbt:work>
Hello.scalaを編集し、サンプルページのFizzBuzzのソースを入力
// FizzBuzzオブジェクトの定義 object FizzBuzz { // mainメソッドの定義 --- (*1) def main(args: Array[String]) = { (1 to 100).map(fizzbuzz).foreach(println) } // fizzbuzzメソッドの定義 --- (*2) def fizzbuzz(i: Int): String = { if (i % 3 == 0 && i % 5 == 0) { "FizzBuzz" } else if (i % 3 == 0) { "Fizz" } else if (i % 5 == 0) { "Buzz" } else { i.toString } } }
PowerShellで"sbt"と"run"を実行
※"sbt"コマンドはやらなくても良かったのかな?
[Scala]
0 件のコメント:
コメントを投稿