需要确认一下.以下代码:
CompletableFuture
.supplyAsync(() -> {return doSomethingAndReturnA();})
.thenApply(a -> convertToB(a));
Run Code Online (Sandbox Code Playgroud)
会是这样的:
CompletableFuture
.supplyAsync(() -> {
A a = doSomethingAndReturnA();
convertToB(a);
});
Run Code Online (Sandbox Code Playgroud)
对?
此外,另外两个问题是"我们有什么理由使用thenApply?"
1)有大转换代码?
要么
2)需要在其他地方重用lambda块吗?
除了src/main/java文件夹,我们还有一个文件夹,其中包含主要源所需的一些生成的Java源代码.需要时手动调用代码生成.生成的源被检入源仓库.一切都将建成并包装在一起.
生成的java 源与主要源一起编译的最佳位置是什么?应该是:
/src/generated/java(遵循相同src/testInt/java的集成测试命名逻辑)/generated-src/main/java(与"src目录包含构建项目的所有源材料"相冲突)/src/main/generated-java(嗯...... generated-java不是一种类型)对于这种情况,第一个选项似乎是最合适的选项.你怎么看?Maven文档中有没有描述这种情况的东西(我忽略了)?你知道任何类似结构的回购吗?
谢谢.
正如@Absurd-Mind所建议的那样,我们正在考虑的方向是将源分成子模块(在gradle中工作得很好).因此,生成的源和一些其他相关源将进入其自己的子模块(它们将生成单独的工件),其余的将进入使用此子模块的其他子模块.谢谢.
我正在使用一个框架(Jodd),它将表别名添加到SQL Select中的列名.它看起来像格式良好的SQL,但Postgres扼杀了它.
update GREETING Greeting
set Greeting.ID=5,
Greeting.NAME='World',
Greeting.PHRASE='Hello World!'
where (Greeting.ID=5)
Run Code Online (Sandbox Code Playgroud)
给出错误:
Error: ERROR: column "greeting" of relation "greeting" does not exist
SQLState: 42703
Run Code Online (Sandbox Code Playgroud)
有没有办法让Postgres接受SQL?我的另一个选择是破解框架,我不想这样做.
直到最近版本的Docker(v1.10),我们认为我们可以使用DOC:仅数据容器.所以我会创建这样的DOC(基于例如busybox)并用--volumes-from它将它链接到我的容器.您仍然可以在Docker文档中阅读此内容.
对于新版本的docker,我们应该使用而不是DOC named volumes.这是一个例子docker-compose.yml:
version: '2'
services:
elasticsearch:
image: elasticsearch:2.2.0
command: elasticsearch -Des.network.host=0.0.0.0
ports:
- "9201:9200"
volumes:
- "es-data:/usr/share/elasticsearch/data"
volumes:
es-data:
Run Code Online (Sandbox Code Playgroud)
在这里,我们创建并使用命名卷es-data.
关于这个新功能的文档仍然不多.我在问:
docker run --rm --volumes-from es-data ...,然后tar它.我们的API用户可以通过向根API地址发送请求来获取根文档(集合列表)GET.如果他发送POST,我们应该返回一些东西.同样的问题适用于其他资源路径,例如PATCH在查询路径上发送等.并非所有方法在某些路径上都有意义.
我从HTTP RFC看到的是我们应该返回代码405:不允许Allowed使用方法,并使用允许的方法列表发回响应头.
我看到例如GitHub API返回404:在我上面解释的情况下找不到(发送POST到root).
什么是正确的回应?404还是405?我看到405更多开发人员友好,所以有什么理由不使用它吗?
我想使用带有gradle的OpenJDK 微基准测试工具JMH.但是,我在编译时获得了NPE.另一方面,JMH在使用maven时工作.
我不发布任何内容,build.gradle因为它是基本的 - 应用java插件并添加对JHM工具的依赖(org.openjdk.jmh:jmh-core:0.2).
我试过这里写的没有成功.
还有什么我需要做的?我认为设置代理的东西,但我仍然没有想出来.
例外:
:compileJava
java.lang.NullPointerException
at org.openjdk.jmh.processor.internal.GenerateMicroBenchmarkProcessor.validMethodSignature(GenerateMicroBenchmarkProcessor.java:502)
Run Code Online (Sandbox Code Playgroud) Java9引入了Multi-Release JAR.
假设我使用java8有多模块Gradle项目:
project-root
settings.gradle
build.gradle
/module1
/src
... (common maven structure)
/module2
/module3
Run Code Online (Sandbox Code Playgroud)
这是Gradle中常见的多模块项目.假设我需要MR-Jar module1.
我无法添加module1-java9定位Java9,因为基础是8 - 到目前为止,我的Gradle和IntelliJ IDEA都抱怨.Gradle是用java8编译的,但是我需要为模块启用java9运行时(不知道怎么做); 在IntelliJ IDEA中我可以为模块设置java9运行时,但每次重新加载gradle配置时它都会被覆盖.
而且,即使我以某种方式添加它,我需要指示module11)构建第二个和2)包括module1-java9.以下是这种情况的图纸:
project-root
settings.gradle
build.gradle
/module1
/module1-java9 (added java9 module)
/module2
...
Run Code Online (Sandbox Code Playgroud)
或者,这可以在module1具有不同来源的情况下完成:src和src-java9.但我怀疑这会被接受.这是一张图:
project-root
settings.gradle
build.gradle
/module1
/src
/src-java9 (added java9 source folder)
/module2
/module3
Run Code Online (Sandbox Code Playgroud)
到目前为止,我只看到它module1-java9是一个单独的项目(不是模块),module1只是在那里调用gradle并获取输出.是的,这是gradle调用gradle :)))
有没有开发人员友好的方式来做到这一点?
我有一个使用Maven标准目录布局的Java Web项目:java文件进入java(实际:) /src/main/java,资源进入resources,web内容进入webapp.
然后我们想通过添加bower,sass,gulp等来改进我们的web层.我们的gulp构建编译scss,最小化javascripts,优化图像等,一切你期望的.但是这引入了1)另一个构建工具,gulp和2)gulp生成的文件.
问题是如何组织这样的项目?一种方法可能是:
在此解决方案中,所有javascript,images,scss文件都存储在其中/src/main/assets并构建到/src/main/webapp.源和gulp生成的文件都被提交给git.gradle构建独立于gulp,对于没有安装gulp的用户来说是可以的 - 比如那些只需要在后端工作的用户.此外,CI服务器不依赖于gulp的东西.
在这个解决方案中,gulp是从gradle调用的.Gradle因此构建了一切.每当你想尝试某些东西时,你必须使用gradle.此外,每个开发人员都需要安装gulp,对于使用Windows的开发人员来说可能是个问题(正如我所知).CI服务器也应该知道如何运行gulp.
我的团队在这两个选项之间徘徊.有没有人有这些解决方案的任何工作经验?
我有一些java9模块使用的第三方库不是Java9模块,只是一个简单的实用工具jar.
但是,编译器抱怨它无法从我的实用程序中找到包.
我应该怎么做module-info.java才能使用我的第三方库?
gradle ×4
java ×4
docker ×2
java-9 ×2
maven ×2
api ×1
futuretask ×1
gulp ×1
http ×1
java-8 ×1
java-module ×1
java-platform-module-system ×1
jmh ×1
jodd ×1
modularity ×1
postgresql ×1
project ×1
rest ×1
sql ×1