我有一个带有两个值的枚举类,我想创建一个接收值并返回另一个值的方法.我还想保持类型安全(这就是我使用枚举类而不是枚举的原因).
http://www.cplusplus.com/doc/tutorial/other_data_types/没有提及方法的任何内容但是,我的印象是任何类型的类都可以有方法.
我在Jenkins有一个管道脚本.
我以前得到这个例外:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:不允许使用方法的脚本groovy.json.JsonSlurperClassic parseText java.lang.String
我查看了异常,我发现了一些迹象表明我应该注释发生异常的方法@NonCPS.我做到了这一点,却没有真正理解这是做什么的.
然而,在那之后,我投入该方法的异常不再被一个try子句捕获.
那背后的想法是@NonCPS什么?使用它有什么影响?
我试过这样的事情:
git branch temp
Run Code Online (Sandbox Code Playgroud)
创建一个新的分支,但不要移动HEAD.但我得到:
# Not currently on any branch.
Run Code Online (Sandbox Code Playgroud)
我不想合并任何东西,我只想要一个新的分支HEAD.
我有以下课程:
import scala.util.{Success, Failure, Try}
class MyClass {
def openFile(fileName: String): Try[String] = {
Failure( new Exception("some message"))
}
def main(args: Array[String]): Unit = {
openFile(args.head)
}
}
Run Code Online (Sandbox Code Playgroud)
其中有以下单元测试:
class MyClassTest extends org.scalatest.FunSuite {
test("pass inexistent file name") {
val myClass = new MyClass()
assert(myClass.openFile("./noFile").failed.get.getMessage == "Invalid file name")
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行时,sbt test我收到以下错误:
java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/collection/mutable/ArrayOps;
at org.scalatest.tools.FriendlyParamsTranslator$.translateArguments(FriendlyParamsTranslator.scala:174)
at org.scalatest.tools.Framework.runner(Framework.scala:918)
at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:533)
at sbt.Defaults$$anonfun$createTestRunners$1.apply(Defaults.scala:527)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.Map$Map1.foreach(Map.scala:109)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at sbt.Defaults$.createTestRunners(Defaults.scala:527)
at sbt.Defaults$.allTestGroupsTask(Defaults.scala:543)
at …Run Code Online (Sandbox Code Playgroud) 我知道这是一个非常开放的问题,我道歉.
我可以看到Await.ready返回Awaitable.type时Await.result返回,T但我仍然混淆它们.
两者有什么区别?
是一个阻止而另一个是非阻塞?
我正在尝试为Jenkins创建我的第一个Groovy脚本:
看了这里https://jenkins.io/doc/book/pipeline/后,我创建了这个:
node {
stages {
stage('HelloWorld') {
echo 'Hello World'
}
stage('git clone') {
git clone "ssh://git@mywebsite.com/myrepo.git"
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我得到了:
java.lang.NoSuchMethodError: No such DSL method "stages" found among steps
我错过了什么?
另外,如何在不用纯文本编写密码的情况下将我的凭据传递给Git存储库?
我正试图在我的Jenkins构建中屏蔽密码.
我一直在尝试使用mask-passwords插件.
但是,这似乎不适用于我的Jenkins管道脚本,因为如果我定义密码PASSWD1然后我在脚本中使用它${PASSWD1},我会得到:
No such DSL method '$' found among steps [addToClasspath, ansiColor, ansiblePlaybook, ....]
Run Code Online (Sandbox Code Playgroud)
如果我使用env.PASSWD1,那么它的值将被解析为null.
那么我该如何在Jenkins管道脚本中屏蔽密码呢?
我有以下react-bootstrap组件:
<FormGroup onSubmit={this.gotEmail} role="form">
<FormControl type="text" className="form-control"/>
<Button className="btn btn-primary btn-large centerButton" type="submit">Send</Button>
</FormGroup>
Run Code Online (Sandbox Code Playgroud)
我想点击"发送"按钮时提交表单.
但是,如果单击该按钮,则控件无法访问该this.gotEmail方法.
为什么会这样?
在我的 Jenkins 工作中,我按以下方式配置 git:
sh("git config user.email my.email@google.com")
sh("git config user.name my-user-name")
sh("git tag ${BUILD_NUMBER}")
sh("git push origin --tags")
Run Code Online (Sandbox Code Playgroud)
但是,在最后一行,当我尝试推送到我的存储库时,我收到有关存储库的以下错误:
fatal: could not read Username for 'http://my-git-repo.com:8000': No such device or address
Run Code Online (Sandbox Code Playgroud)
出了什么问题,如何将其推送到存储库?
我有以下测试类:
import org.scalatest.FunSuite
@RunWith(classOf[JUnitRunner])
class NodeScalaSuite extends FunSuite {
Run Code Online (Sandbox Code Playgroud)
有了这个测试方法:
test("Now doesn't terminate future that's not done") {
val testFuture: Future[Int] = Future{
wait(1000)
10
}
assertThrows[NoSuchElementException]{
testFuture.now
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
not found: value assertThrows
Run Code Online (Sandbox Code Playgroud)
我查看了http://doc.scalatest.org/3.0.0/#org.scalatest.FunSuite上的ScalaTest文档,与我类似的代码似乎工作正常.
有什么问题?