我有一个任意深度的树结构,我想用Handlebars显示.我没有看到任何回复的方法.如果我知道深度,我想我可以硬编码,但它可以任意深入.
像这样的东西,但它需要在显示子部分递归.
{{#aNode}}
{{id}
{{name}}
{{description}}
...spew this same template with each member of {{#children}}...
{{/aNode}}
Run Code Online (Sandbox Code Playgroud)
把手有办法迭代收藏品,但我无法看到它们进入孩子们的行列
我想了解compileJava目标并在失败时吐出一条额外的自定义消息。我们有一个非常普通的案例设置案例,很多人都忽略了它,并且只有在失败的情况下,它才能执行以下操作:
compileJava.onFailure {
println "Did you configure your wampfrankle to talk to the slackometer?"
}
Run Code Online (Sandbox Code Playgroud)
我的Google技能尚未找到答案。
这看起来很怪异.Java 8根据millis是否为零来格式化输出.你如何强迫Java 8(1.8.0_20)总是吐出millis,无论它们是否为零?
public static void main(String[] args) {
TemporalAccessor zeroedMillis = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse("2015-07-14T20:50:00.000Z");
TemporalAccessor hasMillis = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse("2015-07-14T20:50:00.333Z");
System.out.println(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(zeroedMillis));
System.out.println(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(hasMillis));
}
2015-07-14T20:50:00Z
2015-07-14T20:50:00.333Z
Run Code Online (Sandbox Code Playgroud) 根据我能找到的内容,我的代码看起来应该是正确的,但是输出的代码并不表示它正在使用FastInfoset.我的理解是Accept应该表明它可以接受Fastinfoset并且响应实际上会使用它,这意味着它不是text/xml作为响应类型.知道我做错了什么吗?我和Google一起搜索过,我很难找到有关如何使用FastInfoset的详细信息.
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setServiceClass( C360Server.class);
factory.setAddress("http://localhost:8501/cxfcontroller/cl_v5");
C360Server client = (C360Server)factory.create();
((BindingProvider)client).getRequestContext().put(
"com.sun.xml.ws.client.ContentNegotiation", "optimistic");
C360Request requestTrans = new C360Request();
... code to fill in the request ...
C360Response response = client.findContacts( requestTrans );
Run Code Online (Sandbox Code Playgroud)
记录似乎并不表示FastInfoset甚至尝试过:
INFO: Outbound Message
---------------------------
ID: 1
Address: http://localhost:8501/cxfcontroller/cl_v5
Encoding: UTF-8
Content-Type: text/xml
Headers: {SOAPAction=[""], Authorization=[Basic cWFfc3VwZXI6cWFfc3VwZXI=], Accept=[*/*]}
Payload: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:findContacts>...bunch of xml deleted for brevity...</ns1:findContacts></soap:Body></soap:Envelope>
--------------------------------------
May 17, 2010 3:23:45 PM org.apache.cxf.interceptor.LoggingInInterceptor logging
INFO: Inbound Message
----------------------------
ID: 1
Response-Code: …Run Code Online (Sandbox Code Playgroud) 我对这个失去了理智.我的curl命令有效:
curl http:// testuser:testpwd @ qabox3:8501/xmlcontroller
但是,当我尝试在Java中看起来像是等效的http连接时,它会"拒绝连接".我错过了什么?我已经尝试了十几种尝试今天建立这种联系的方式并且没有想法.
URL url = new URL( "http://qabox3:8051/xmlcontroller" );
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod( "GET" );
String encoding = new sun.misc.BASE64Encoder().encode( "testuser:testpwd".getBytes() );
conn.setRequestProperty("Authorization", "Basic " + encoding );
InputStream content = conn.getInputStream(); // <--- fails here every time.
BufferedReader in = new BufferedReader( new InputStreamReader( content ) );
String line;
while ((line = in.readLine()) != null) {
System.out.println( line );
}
Run Code Online (Sandbox Code Playgroud)
此外,我可以使用Java的Runtime.exec()执行curl命令,但仍然有效......所以我在HttpURLConnection中显然做错了.
这是我看到的堆栈(现在使用HttpClient,但与Java库基本相同).
Exception in thread "main" java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method) …Run Code Online (Sandbox Code Playgroud) 我的项目有一堆模块,虽然每个模块都应用了java插件,并且具有正常的编译,测试,jar等步骤,但外部项目却没有.但是,外部项目确实有一个任务包含一堆文件,报告等,并进行一些处理.此任务需要一个没有其他需要的特定zip文件.
我需要该任务来解决和下载依赖项,所以如果我运行:
gradle doWeeklySummaryTask
Run Code Online (Sandbox Code Playgroud)
它将获取必要的zip,就像compile获取所有编译依赖项一样.
我可以创建一个自定义依赖项,这很容易:
configurations {
foo
}
dependencies {
foo('blah:blah:blah')
}
Run Code Online (Sandbox Code Playgroud)
问题是,如何让我的doWeeklySummaryTask解决这种依赖?
我有一个主项目,其中模块 A 依赖于由模块 B 的构建创建的 .jar 文件。在开发过程中,我定期修改 B,然后构建 B 以创建库,然后构建 A 以使用这些更改。
有没有办法将模块 A 的 ivy 文件指向我的模块 B 构建创建的 jar 文件?鉴于我要迭代多次,我不想一遍又一遍地检查模块 B 的 jar 到 ivy 中。在每次构建模块 B 后都必须将 jar 复制到模块 A 的构建目录结构中,这也很烦人。
实际上,对我来说更糟,因为我在依赖树(A->B->CD)中有大约 4 个模块。如果它只是 A 和 B,我可能会忍受它,但我厌倦了在子模块构建后复制 jar 文件,并认为是否有办法覆盖 ivy 文件依赖行以在本地查看然后会让生活简单很多。
我需要以不区分大小写的方式比较两个字段.我有这样的规则:
foo : ObjectTypeA()
bar : ObjectTypeB( name == foo.name )
Run Code Online (Sandbox Code Playgroud)
这适用于相同情况下的字符串.我需要的是这样的东西,但它似乎不起作用:
foo : ObjectTypeA()
bar : ObjectTypeB( name.equalsIgnoreCase( foo.name ) )
Run Code Online (Sandbox Code Playgroud)
有关如何使其工作的任何建议?谷歌搜索点击建议使用"匹配",但匹配运算符似乎只对硬编码模式.
我有一个gradle文件(common-utils.gradle),它包含许多在各种项目中常见的有用函数.我在Artifactory中有这个文件.现在,我希望我的项目的build.gradle下拉common-utils.gradle文件和"apply from:'common-utils.gradle'",这样我就可以使用这些实用程序方法了.
有没有办法动态地执行此操作,因此第一次运行"gradle test"时,它会获取此公共文件并应用它?或者,在克隆存储库以获取文件后,我是否必须执行某种"init"任务?
java ×5
gradle ×3
console ×1
datetime ×1
drools ×1
fastinfoset ×1
formatting ×1
http ×1
ivy ×1
jax-ws ×1
mustache ×1
reentrancy ×1