我们有一个像这样设置的旧项目:
.
??? customizationProject
? ??? ejb
? ??? services
??? projectA
? ??? ejb
? ??? shared
??? projectB
? ??? ejb
??? projectC
??? ejb
??? services
Run Code Online (Sandbox Code Playgroud)
我们的想法是customizationProject是交付的应用程序的最终组装发生的地方,实际上可能有多个 customizationProjects,它们可能包含多个配置.然而,这不是我要解决的问题.
我想使customizationProject成为gradle项目的逻辑根项目.如何配置各个项目,以便a)知道它们是多项目构建的一部分b)可以正确执行,具有不同的范围,例如只运行一个子项目的测试,同时还允许执行所有测试在所有项目中?
如果我从RESTful客户端获得以下json,我如何优雅地解组java.util.Date?(有可能不提供(也就是硬编码)格式,这就是我的优雅意思......)
{
"class": "url",
"link": "http://www.empa.ch",
"rating": 5,
"lastcrawl" : "2009-06-04 16:53:26.706 CEST",
"checksum" : "837261836712xxxkfjhds",
}
Run Code Online (Sandbox Code Playgroud) 真的没有方法可以确定在Iterable中满足谓词的元素数量吗?我这样做是对的:
return Lists.newArrayList(Iterables.filter(iterable, predicate)).size()
Run Code Online (Sandbox Code Playgroud)
如果是这样,那么没有方法的原因是什么
Iterable.frequency(Iterable<T>, Predicate<T>)
Run Code Online (Sandbox Code Playgroud)
干杯
假设我们有一个grails web应用程序,它暴露了几个资源.
该应用程序具有经典的Web界面,用户可以与之交互并进行一些管理.我们希望通过RESTful API将应用程序中的资源公开给客户端,并且我们不希望应用程序的这一部分混乱我们已有的控制器和代码.所以我们想出了以下内容:
如果Web界面提供了host/app_path/url/[list|show|create]我们想要的REST API /host/app_path/rest/url.
所以我们最终得到了以下UrlMappings文件:
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?"{
}
/* adding new urls and listing them */
"/rest/url"{
controller = "urlRest"
action = [POST: "save", PUT: "save", GET: "list", DELETE:"error"]
}
/* accessing a single url */
"/rest/url/$id"{
controller = "urlRest"
action = [POST: "update", PUT: "update", GET: "show", DELETE: "delete"]
}
/* non-crud stuff on urls */
"/rest/url/$action?/$id?"{
controller = "urlRest"
}
"/"(view:"/index")
"500"(view:'/error')
} …Run Code Online (Sandbox Code Playgroud) 我有以下代码:
为什么Java认为这不是有效的long.
@Test
public void testOffendingBinaryString() {
String offendingString = "1000000000000000000010101000000000000000000000000000000000000000";
assertEquals(64, offendingString.length());
Long.parseLong(offendingString, 2);
}
Run Code Online (Sandbox Code Playgroud) 我有类似以下的代码:
try {
HttpPost post = new HttpPost(httpsUrl);
setHeaders(post);
HttpEntity entity = new StringEntity(request, "UTF-8");
post.setEntity(entity);
HttpResponse response = httpclient.execute(post);
String result = EntityReader.readContent(response.getEntity());
checkAnswer(result);
return result;
} catch (Exception e) {
throw new ZapException("Error executing the http post request: "+e.getMessage(), e);
}
Run Code Online (Sandbox Code Playgroud)
它使用之前可能已经使用过的 httpclient 实例通过 POST 将内容发送request到服务器(它打开了持久连接,因为我们向同一服务器发送了相当多的请求......)。
有时会失败,并SocketTimeoutException显示“读取超时”消息。我们不清楚为什么它只在某些时候失败,而大多数时候却不会。是什么赋予了?
是否可以只转储部分数据库?我有一个包含250'000个条目的数据库.我想创建第二个,其中包含十分之一的数据......
运用
select * from table where id % 10 = 0
Run Code Online (Sandbox Code Playgroud)
和设置
.output out.sql
Run Code Online (Sandbox Code Playgroud)
产生一个没有二进制数据编码的文件,其方式与使用时相同
.dump
dump -> the binary data gets encoded as hex bytes
other way -> it gets encoded as some weird string
Run Code Online (Sandbox Code Playgroud) 在vaadin 7中,如何在使用时懒惰地确定文件名FileDownloader?
final Button downloadButton = new Button("Download file");
FileDownloader downloader = new FileDownloader(new StreamResource(new StreamSource() {
@Override
public InputStream getStream () {
return new ByteArrayInputStream(expesiveCalculationOfContent());
}
}, "file.snub"));
downloader.extend(downloadButton);
Run Code Online (Sandbox Code Playgroud)
在此代码示例中,清楚地显示文件名
如何懒惰地确定下载文件的文件名?