我注意到我的scala编译器有一种奇怪的行为.它在编译类时偶尔会抛出OutOfMemoryError.这是错误消息:
[info] Compiling 1 Scala source to /Users/gruetter/Workspaces/scala/helloscala/target/scala-2.9.0/test-classes...
java.lang.OutOfMemoryError: PermGen space
Error during sbt execution: java.lang.OutOfMemoryError: PermGen space
Run Code Online (Sandbox Code Playgroud)
它只会偶尔发生一次,并且通常不会在随后的编译运行中抛出错误.我使用Scala 2.9.0并通过SBT编译.
有没有人知道造成这个错误的原因是什么?提前感谢您的见解.
我正在尝试使用Maven 发布Jenkins插件(stashNotifier)并面临发布插件的问题.
mvn clean release:prepare
Run Code Online (Sandbox Code Playgroud)
运行完成没有错误但无法在我的本地git存储库中提交更改的pom.xml.即使它确实标记了我试图发布版本1.0.2的分支的HEAD.这是我的本地分支在准备发布之前的样子
* df60768 (HEAD, origin/develop, develop) upgraded parent pom to version 1.498
* 792766a added distribution management section to pom.xml and amended readme.md
Run Code Online (Sandbox Code Playgroud)
这就是它之后的样子
* df60768 (HEAD, tag: stashNotifier-1.0.2, origin/develop, develop) upgraded parent pom to version 1.498
* 792766a added distribution management section to pom.xml and amended readme.md
Run Code Online (Sandbox Code Playgroud)
不幸的是,pom.xml已经包含下一个开发版本,这反过来会导致后续版本:执行以释放该快照版本.
从maven的命令输出,它几乎看起来像是省略了git commit命令:
[INFO] Checking in modified POMs...
[INFO] Executing: /bin/sh -c cd /Users/gruetter/Dropbox/stashNotifier && git add -- pom.xml
[INFO] Working directory: /Users/gruetter/Dropbox/stashNotifier
[INFO] Executing: …Run Code Online (Sandbox Code Playgroud) 关于OSGi EventAdmin服务的使用,我有一个一般性的问题.我目前正在一个可能每秒生成数千个事件的环境中使用它.我担心EventAdmin服务可能是一个瓶颈.我从我的探查器得到的初步结果似乎支持这一点.我的问题是:
在此先感谢您的支持!
干杯,格奥尔格
我有一个关于Thread子类的取消策略的实现的问题.通常的做法是这样做:
class A extends Thread {
[...]
public final void run() {
try {
while(!Thread.currentThread().isInterrupted()) {
[...]
}
} catch (InterruptedException consumed) {
}
}
public final void cancel() {
interrupt();
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是关于Thread.currentThread()...为什么通常的做法是使用currentThread()来检查中断标志而不是在cancel()方法中设置它?仅仅像这样调用A的isInterrupted()方法就不够了:
while (!isInterrupted()) {
[...]
}
Run Code Online (Sandbox Code Playgroud)
我无法在Thread JavaDoc,Brian Goetz关于并发Java或stackoverflow的优秀书籍中找到答案.
提前感谢您的见解!
干杯,格奥尔格
我是Scala,SBT和Specs的新手.我已经使用规范创建了一个简单的规范,并喜欢通过"测试"任务通过SBT运行它.当我执行该任务时,我收到以下错误:
> test
[info] No tests to run for test:test
[success] Total time: 0 s, completed Nov 30, 2011 4:27:38 PM
Run Code Online (Sandbox Code Playgroud)
我知道我必须告诉SBT我的哪些文件是测试文件.我在SBT主页和Stackoverflow上找到的唯一例子就是这段代码
override def includeTest(s: String) = { s.endsWith("Spec") }
Run Code Online (Sandbox Code Playgroud)
我包含在Build.scala文件中.但是,似乎这不再适用于SBT 0.11.x. 我收到以下编译错误
[info] Compiling 1 Scala source to /Users/gruetter/Workspaces/scala/helloscala/project/target/scala-2.9.1/sbt-0.11.1/classes...
[error] /Users/gruetter/Workspaces/scala/helloscala/project/Build.scala:4: method includeTest overrides nothing
[error] override def includeTest(s: String) = { s.endsWith("Spec") }
Run Code Online (Sandbox Code Playgroud)
有人知道如何使用新的SBT版本吗?
在此先感谢您的帮助!
干杯,格奥尔格
sbt ×2
scala ×2
apache-spark ×1
concurrency ×1
java ×1
jenkins ×1
maven ×1
osgi ×1
plugins ×1
release ×1
scalatra-sbt ×1
specs ×1