我目前在用sbt更改代码时重新编译时遇到问题。
我一直在关注sbt参考'sbt by example' 我安装了sbt 1.2.8,并按照说明进行操作:
创建最小的sbt版本
JavascriptLanguage version : ECMA script 5.1
Platform : intellij
var fetch = require('node-fetch');
function abc() {
var response = fetch(url, {
method: 'POST',
body: {
grant_type: "password",
username: "user1",
password: "Password123",
client_id: "android",
client_secret: "android-secret"
},
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
}
).then(function (result) {
console.log(result)
}).catch(function (error){
});
console.log(response);
}
abc();
Actual Result :
status: 401,
statusText: 'Unauthorized',
headers: Headers { [Symbol(map)]: [Object] },
counter: 0 } }
Expected Result : should get 200
启动sbt shell
$ mkdir foo-build
$ cd foo-build
$ touch build.sbt
在代码更改时重新编译(请注意编译命令前的〜前缀)
$ sbt
[info] Loading global plugins from C:\Users\hce\.sbt\1.0\plugins
[info] Loading project definition from E:\learn\Scala\demo\foo-build\project
[info] Loading settings for project foo-build from build.sbt ...
[info] Set current project to foo-build (in build file:/E:/learn/Scala/demo/foo-build/)
[info] sbt server started at local:sbt-server-57c501e502d72a00d890
创建源文件
使先前的命令保持运行状态。从其他外壳或文件管理器中,在项目目录中创建以下嵌套目录:src / main / scala / example。然后,使用您喜欢的编辑器在示例目录中创建Hello.scala,如下所示:
sbt:foo-build> ~compile
[success] Total time: 0 s, completed Jul 6, 2019 12:01:24 PM
1. Waiting for source changes in project foo-build... (press enter to interrupt)
此新文件应由正在运行的命令拾取。但这在我的系统上不起作用。
预期行为:
package example
object Hello extends App {
println("Hello")
}
以下是一些有关我的环境的信息
[info] Compiling 1 Scala source to /tmp/foo-build/target/scala-2.12/classes ...
[info] Done compiling.
[success] Total time: 2 s, completed May 6, 2018 3:53:42 PM
2. Waiting for source changes... (press enter to interrupt)
我已经尝试过的方法:
要正确运行sbt〜compile命令,我缺少什么?
答案 0 :(得分:0)
我找到了答案。
指令包含错误。 我们应该将src / main / scala / example目录放在项目目录中。
从其他外壳或文件管理器中,在项目目录中创建以下嵌套目录: src / main / scala / example。
但这会导致所描述的问题。 foo-build / project /用于构建定义代码。
如果我将src / main / scala / example目录放在foo-build目录中,则它可以正常工作。
我应该事先执行 run 命令,该命令会给出“未检测到主类”错误。通过阅读以下stackoverflow问题,有助于发现目录结构不正确:how to set main class in sbt project。
我的错误。抱歉打扰您了。