我有一个使用source和javadoc jar的gradle构建,我希望在distZip和distTar之前执行这些任务,是否有一个依赖项可以捕获与shouldRunAfter一起使用的两个任务.
现在我有:
task javadocJar(type: Jar) {
classifier 'javadoc'
from javadoc
}
task sourcesJar(type: Jar) {
classifier 'sources'
from sourceSets.main.allSource
}
tasks.distZip.shouldRunAfter tasks.javadocJar
tasks.distTar.shouldRunAfter tasks.javadocJar
tasks.distZip.shouldRunAfter tasks.sourcesJar
tasks.distTar.shouldRunAfter tasks.sourcesJar
Run Code Online (Sandbox Code Playgroud)
我想把那四个应该运行的四个缩小到两个,它们捕获了distZip和distTar.
在Java中,您可以调用peek(x -> println(x))Stream,它将为每个元素执行操作并返回原始流,这与foreach是Unit不同.在Scala中是否有类似的东西,理想情况下适用于所有Monady类型,允许您在执行副作用时"通过"原始Monad?(记录,例如)
它当然很容易实现:
def tap[A, U](a: A)(action: (A) => U): A = {
action(a)
a
}
Run Code Online (Sandbox Code Playgroud)
但我希望有一些更优雅或惯用的东西.
我一直试图让cxf-codegen-plugin在Java 9上运行一些阻力.到目前为止,我已经将java.se.ee添加到运行时模块中,并为maven添加了必要的依赖项.
但是,当我尝试构建我的源时,我收到以下错误:
DefaultValidationEventHandler: [ERROR]: unexpected element (uri:"http://cxf.apache.org/tools/plugin", local:"databinding"). Expected elements are <{}databinding>,<{}frontend>
Location: node: [databinding: null]
apr. 21, 2018 8:23:57 EM org.apache.cxf.tools.wsdlto.core.PluginLoader loadPlugin
ALLVARLIG: Tools plugin jar:file:/C:/Users/Daniel/.m2/repository/org/apache/cxf/cxf-tools-wsdlto-core/3.2.4/cxf-tools-wsdlto-core-3.2.4.jar!/META-INF/tools-plugin.xml load failed
Run Code Online (Sandbox Code Playgroud)
可能导致此问题或如何解决问题的任何想法?
我想在Slick中编写一个查询,如果它不是null,则获取一个列,如果是null,则默认为另一个列的值.如何在不重复调用db.run的情况下执行此操作?
我为什么要写
val flat: List[Int] = List(Some(1), Some(2)).flatMap(i => i)
Run Code Online (Sandbox Code Playgroud)
但不是
val flat: List[Int] = List(Some(1), Some(2)).flatMap(_)
Run Code Online (Sandbox Code Playgroud)