我有一个Git仓库的分支,我的克隆似乎有一个旧的,不再存在的分支的问题.我一直看到这个消息:
error: refs/heads/t_1140 does not point to a valid object!
我没有任何其他消息,回购工作正常.没有任何操作阻止我在其他分支上工作,推动变革,拉动等等.
我环顾四周,关于如何解决这个问题的指示并不明确.我试图执行,git fsck --full
但我没有看到任何错误.只是加载dangling ...
消息.
我也检查了我.git/config
的,没有对这个分支的引用,也检查过.git/refs/heads
,没有引用t_1140
知道如何摆脱这个错误吗?
ps我试图再次克隆我的回购,似乎错误也是我的Github回购.所以,我现在唯一能想到的就是放弃我的回购和再次分配.
我在maven POM.xml中有以下XML:
<profiles>
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>default</name>
<value>!disabled</value>
</property>
</activation>
<modules>
<module>m1</module>
<module>m2</module>
<module>m3</module>
</modules>
</profile>
<profile>
<id>x</id>
<modules>
<module>m1</module>
</modules>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
我想要实现的是:
当我跑步时mvn install
,我希望它能够建立m1,m2和m3项目.
当我跑步时mvn install -Px
,我希望它只能构建m1.
我目前的问题是,使用上面的代码,选项2构建所有m1,m2和m3.
我有一个Java类,它记录的东西有这样的方法:
void info(Object message, Object... params);
Run Code Online (Sandbox Code Playgroud)
在Scala中,我创建了一个围绕这样调用的包装器,如下所示:
def info(msg: => String, params: Any*) {
log.info(msg, params);
}
Run Code Online (Sandbox Code Playgroud)
我打电话的时候:
val host = "127.0.0.1"
val port = "1234"
info("Start on {0}:{1}", host, port)
Run Code Online (Sandbox Code Playgroud)
我明白了:
"Started on WrappedArray(127.0.0.1, 1234):{1}"
Run Code Online (Sandbox Code Playgroud)
现在,有没有人现在如何将params转换为可以正确使用的Object []?
我试着这样做:
def info(msg: => String, params: Any*)
log.info(msg, params.toList.toArray);
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用:
"Started on [Ljava.lang.Object;@14a18d:{1}"
Run Code Online (Sandbox Code Playgroud)
你做的时候会发生类似的事情:
params.asInstanceOf[WrappedArray[Object]].array
Run Code Online (Sandbox Code Playgroud) 我在Vert.x的Scala语言扩展中遇到了Gradle,JUnit和Scala测试执行的问题.最近我们从Vert.x 2.1.RC1升级到2.1.RC2,我们开始看到在某些环境中,例如我们的Cloudbees实例,测试执行会查找classMethod
在测试类中调用的幻像方法,该方法不存在,测试时间出.结果,其余的测试失败了.
在此控制台实例中,您可以看到:
org.vertx.scala.tests.core.http.HttpTest > classMethod FAILED
java.lang.AssertionError: Timed out waiting for test to complete
Run Code Online (Sandbox Code Playgroud)
我们不知道这classMethod
是什么,它来自哪里等等.更糟糕的是,我无法在我的OSX和Linux(RHEL7)环境中复制它,无论是使用JDK 1.7u45还是1.7u51.
到目前为止,我们发现修复它的唯一方法是恢复到Vert.x 2.1.RC1(请参阅使用RC1 运行的控制台),但我们真的无法看到这个和这个神秘之间的联系classMethod
.
我们已经尝试升级到Gradle 1.11,以防Gradle本身出现问题,但没有运气.我们目前正在使用JUnit 4.11.
唯一看起来有点可疑的是,即使该项目使用Scala 2.10.4,Gradle Scala插件似乎引入了Zinc,它似乎需要Scala 2.9.2.当我.gradle/
在本地删除我的文件夹时,我没有看到任何Scala 2.9.2被下载.我想知道这是不是搞乱了?
最后,对于HttpCompressionTest似乎有这个的最后一次运行classMethod
,我将本地javap
输出与Cloudbees中的输出进行了比较,它们看起来完全相同.
我没有想法,有什么建议吗?
更新:作为最后的手段,我决定升级到Vert.x 2.1.RC3-SNAPSHOT,这一切都恢复正常.我完全不知道为什么,但我会接受它:)
我开发了一个客户端库,它公开了一个名为的方法iterator()
.此方法返回使用require('promise')
库创建的Promise实例,该实例使用迭代器对象完成.
该对象包含一个调用的方法next()
,该方法返回一个Promise,它使用如下复杂对象完成:{done: [true|false], key: _, value: _}
虽然iterator()
可能预先获取一些元素,next()
但是如果它导致远程调用,则需要返回Promise.
现在,假设用户想要迭代所有元素,直到返回的Promise返回next()
包含的对象done: true
.
我已经设法使用以下递归方法实现了这一点(我最初在这个答案中找到了这个解决方案):
var iterate = client.iterator();
iterateTeams.then(function(it) {
function loop(promise, fn) {
// Simple recursive loop over iterator's next() call
return promise.then(fn).then(function (entry) {
return !entry.done ? loop(it.next(), fn) : entry;
});
}
return loop(it.next(), function (entry) {
console.log('entry is: ' + entry);
return entry;
});
});
Run Code Online (Sandbox Code Playgroud)
问题是,是否可以使用require('promise')
库来构建非递归解决方案?我对非递归方法感兴趣的原因是,如果要迭代的条目数太大,就要避免爆炸.
干杯,高尔德
我们正在尝试向collect
我们目前定义的扩展Java Stream API 添加重载方法:
interface ExtendedStream<R> extends Stream<R> {
<R1> R1 collect(SerializableSupplier<Collector<? super R, ?, R1>> supplier);
}
Run Code Online (Sandbox Code Playgroud)
SerializableSupplier
被定义为:
interface SerializableSupplier<T> extends Serializable, Supplier<T> {
}
Run Code Online (Sandbox Code Playgroud)
使用lambda调用此collect方法工作正常,但使用方法引用调用它无法编译时出现以下错误:
Error:(50, 72) java: incompatible types: cannot infer type-variable(s) R1,capture#1 of ?,T
(argument mismatch; bad return type in method reference
java.util.stream.Collector<T,capture#1 of ?,java.util.List<T>> cannot be converted to java.util.stream.Collector<? super java.util.Map.Entry<java.lang.Integer,java.lang.String>,?,R1>)
Run Code Online (Sandbox Code Playgroud)
我在这里创建了一个独立的Java类,您可以将其加载到编译器中以进行尝试.
我目前正在使用Java版本:
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed …
Run Code Online (Sandbox Code Playgroud) 在脱机工作(即没有连接到互联网)时,是否有人在使用OSX Lion的Java中解决Java的InetAddress.getLocalHost()问题?
似乎localhost:127.0.0.1根本没有得到解决:
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
at java.net.InetAddress.getLocalHost(InetAddress.java:1356)
Run Code Online (Sandbox Code Playgroud)
我的/ etc/hosts没什么特别之处:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
Run Code Online (Sandbox Code Playgroud)
我怀疑这不是Java问题,而是OSX Lion DNS解决问题.
有人可以帮忙吗?
如果这不是正确的论坛,我可以在哪里询问这个问题?
有关如何在OSX级别进一步调试的任何提示?
更新26/10/2011 - 这可能是JDK bug,以下测试:
InetAddress addr;
try {
addr = InetAddress.getLocalHost();
System.out.println("With localhost access: " + addr);
} catch (ArrayIndexOutOfBoundsException e) {
addr = InetAddress.getByName(null);
System.out.println("With reverse lookup: " …
Run Code Online (Sandbox Code Playgroud) 我有一个 Scala 问题。想象一下您正在构建代码来处理不同的操作,即
operation match {
case A => doA()
case B => doB()
case _ => throw new Exception("Unknown op: " + operation)
}
Run Code Online (Sandbox Code Playgroud)
现在,想象一下,稍后您想要构建一个新版本,并且想要扩展操作 C 的模式匹配。如何以操作分辨率仍然为 O(1) 的方式做到这一点?
我的意思是,我可以修改上面的代码来执行以下操作:
case _ => handleUnknownOperation(operation)
Run Code Online (Sandbox Code Playgroud)
子类可以实现handleUnknownOperation来执行以下操作:
operation match {
case C => doC()
}
Run Code Online (Sandbox Code Playgroud)
但这很糟糕,因为这意味着 C 操作需要 O(2)。
扩展这种模式匹配结构的任何其他想法或最佳实践?
干杯,高尔德
我正在学习Haskell并且我已经编写了这个函数:
safeHead :: [a] -> Maybe a
safeHead [] = Nothing
safeHead (x:xs) = Just x
Run Code Online (Sandbox Code Playgroud)
我现在正尝试用HSpec测试它:
import Test.Hspec
main :: IO ()
main = hspec spec
spec :: Spec
spec =
describe "safeHead" $
it "should return Nothing for empty list" $
safeHead [] `shouldBe` Nothing
Run Code Online (Sandbox Code Playgroud)
但是无法编译:
Error:(14, 19) ghc: No instance for (Eq a0) arising from a use of ‘shouldBe’
The type variable ‘a0’ is ambiguous
Note: there are several potential instances:
instance Eq a => Eq (Maybe …
Run Code Online (Sandbox Code Playgroud) 我正在使用Promise Node.js库,我想做以下事情:
我正在使用的代码如下:
var Promise = require('promise');
var resolved1 = Promise.resolve(1);
var resolvedAll = resolved1.then(function() {
return Promise.all(Promise.resolve(2), Promise.resolve(3));
});
var print = resolvedAll.then(function(values) {
console.log(values);
});
print.done(function () {
console.log('done');
});
Run Code Online (Sandbox Code Playgroud)
但是这段代码没有按预期工作,因为它打印:
[]
done
Run Code Online (Sandbox Code Playgroud)
从docu开始,Promise.all返回一个promise,它在iterable参数中的所有promise都已解析时解析.所以在理论上已经解决了所有承诺在完成所有承诺之前不应该Promise.all
完成,但这不是这里发生的事情.
知道为什么Promise.all没有按预期工作?这可能是个错误吗?任何人都知道在.then()
回调中返回多个承诺的替代方案?
干杯,高尔德