私はScalaを初めて使用しましたが、- Scala IDE は、コードベースの検索やコードの編集などの基本的なことを行うと、マシン上で非常に遅くなります。ビジュアルに慣れていますスタジオコードと非常に満足して この金属拡張 を見つけました。
「ビルドをインポート」して、プロジェクト内のバージョンscalaバージョンを増やすなどの問題を修正できましたが、実行構成をセットアップして実際にアプリを起動するためにこの手順を再現する方法がわかりませんScala IDE。
たくさんのプロジェクトを含む親フォルダーと、アプリのメインエントリポイントである「consoleapp」プロジェクトがあります。他のすべてのプロジェクトのロジック/ルートをインポートします。
|____parent
| |____consoleapp
| |____project1
| |____project2
私は試した sbt run
およびsbt runMain consoleapp
consoleappフォルダーと親フォルダー内からでも、機能しませんでした。
私たちのセットアップからの他のどの情報が関連しているかはわかりません-必要に応じて詳細を提供してください。
以下の詳細を追加するために更新されました:
consoleapp/build.sbt
name := "consoleapp"
version := "1.0"
scalaVersion := "2.12.10"
packMain := Map("consoleapp" -> "consoleapp")
libraryDependencies ++= Seq (...)
実行したコマンドの出力-sbt run
およびsbt runMain
〜/ scala/parentから実行
> sbt run masterstate [0a8dab85] modified
[info] Loading settings for project global-plugins from metals.sbt,build.sbt ...
[info] Loading global plugins from /Users/pradhyo/.sbt/1.0/plugins
[info] Loading project definition from /Users/pradhyo/scala/parent/project
[info] Loading settings for project consoleapp from build.sbt ...
...
Loading settings for all other projects in parent folder
...
[info] Loading settings for project parent from build.sbt ...
[info] Resolving key references (22435 settings) ...
[info] Set current project to parent (in build file:/Users/pradhyo/scala/parent/)
[error] Java.lang.RuntimeException: No main class detected.
[error] at scala.sys.package$.error(package.scala:30)
[error] stack trace is suppressed; run last Compile / bgRun for the full output
[error] (Compile / bgRun) No main class detected.
[error] Total time: 1 s, completed 18-Dec-2019 1:41:25 PM
〜/ scala/parentから実行
> sbt "runMain consoleapp.consoleapp" masterstate [0a8dab85] modified
[info] Loading settings for project global-plugins from metals.sbt,build.sbt ...
[info] Loading global plugins from /Users/pradhyo/.sbt/1.0/plugins
[info] Loading project definition from /Users/pradhyo/scala/parent/project
[info] Loading settings for project consoleapp from build.sbt ...
...
Loading settings for all other projects in parent folder
...
[info] Loading settings for project parent from build.sbt ...
[info] Resolving key references (22435 settings) ...
[info] Set current project to parent (in build file:/Users/pradhyo/scala/parent/)
[info] running consoleapp.consoleapp
[error] (run-main-0) Java.lang.ClassNotFoundException: consoleapp.consoleapp
[error] Java.lang.ClassNotFoundException: consoleapp.consoleapp
[error] at Java.net.URLClassLoader.findClass(URLClassLoader.Java:382)
[error] stack trace is suppressed; run last Compile / bgRunMain for the full output
[error] Nonzero exit code: 1
[error] (Compile / runMain) Nonzero exit code: 1
[error] Total time: 0 s, completed 18-Dec-2019 1:46:21 PM
〜/ scala/parent/consoleappから実行
> sbt run masterstate [0a8dab85] modified
[info] Loading settings for project global-plugins from metals.sbt,build.sbt ...
[info] Loading global plugins from /Users/pradhyo/.sbt/1.0/plugins
[info] Loading project definition from /Users/pradhyo/scala/parent/consoleapp/project
[info] Loading settings for project consoleapp from build.sbt ...
[info] Set current project to consoleapp (in build file:/Users/pradhyo/scala/parent/consoleapp/)
[error] Java.lang.RuntimeException: No main class detected.
[error] at scala.sys.package$.error(package.scala:30)
[error] stack trace is suppressed; run last Compile / bgRun for the full output
[error] (Compile / bgRun) No main class detected.
[error] Total time: 0 s, completed 18-Dec-2019 1:49:26 PM
〜/ scala/parent/consoleappから実行
> sbt "runMain consoleapp" masterstate [0a8dab85] modified
[info] Loading settings for project global-plugins from metals.sbt,build.sbt ...
[info] Loading global plugins from /Users/pradhyo/.sbt/1.0/plugins
[info] Loading project definition from /Users/pradhyo/scala/parent/consoleapp/project
[info] Loading settings for project consoleapp from build.sbt ...
[info] Set current project to consoleapp (in build file:/Users/pradhyo/scala/parent/consoleapp/)
[info] running consoleapp
[error] (run-main-0) Java.lang.ClassNotFoundException: consoleapp
[error] Java.lang.ClassNotFoundException: consoleapp
[error] at Java.net.URLClassLoader.findClass(URLClassLoader.Java:382)
[error] stack trace is suppressed; run last Compile / bgRunMain for the full output
[error] Nonzero exit code: 1
[error] (Compile / runMain) Nonzero exit code: 1
[error] Total time: 1 s, completed 18-Dec-2019 1:50:06 PM
Scala Metals VSCode Readme の指示に従って、問題のEclipseスクリーンショットにこれと同様の起動構成を使用します。
.vscode/launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.Microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "scala",
"name": "Debug consoleapp",
"request": "launch",
"mainClass": "consoleapp",
"buildTarget": "consoleapp",
"args": [],
"jvmOptions": ["-J-Dconfig.file=/path/to/config/file"]
}
]
}
pureconfig の構成ファイルを正しく渡すのに問題がありました。これが Githubの問題 と正しいjvmOptions
行です。
MetalsはこれらをサポートしますScalaバージョン2.13.0、2.13.1、2.12.8、2.12.9、2.12.10、2.12.7および2.11.12
これは私が彼らのドキュメンテーション( doc )から気づいたものです。したがって、私がコメントで取り上げたあなたと私の問題を特定することができます。
きみの scalaVersion := "2.12.3"
はここにリストされていません。