在几个任务中,我引用了我的主文件夹中的jar.
是否有更好的方法来获取环境变量
ENV = System.getenv()
HOME = ENV['HOME']
task copyToServer(dependsOn: 'jar', type: Copy) {
from 'build/libs/'
into HOME + "/something/plugins/"
}
Run Code Online (Sandbox Code Playgroud)
这设置了$ HOME,但我希望我从文档中错过了一些魔法.
我有一个祖先依赖已依赖提供的范围,我需要将该范围传播到依赖于我的项目的任何东西.
例如,说我SomeProjectA
依赖于SomeLibraryB
.我需要提供范围SomeLibraryB
.
目前要编译依赖的东西SomeProjectA
,还必须设置SomeLibraryB
已提供.我宁愿传播那个范围,然后有任何项目依赖于我的项目的家属处理..
我试图子类的Java类有一个方法,如:
public abstract void foo(Map var1);
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何覆盖该方法.我从中继承的Java类不使用泛型.
在Scala我尝试过:
override def foo(var1:java.util.Map[Int,Int]){ }
Run Code Online (Sandbox Code Playgroud)
但编译器给我的错误信息是它覆盖了什么..
问题的核心是Scala期望Map上的类型参数,但Java类不使用它们.
我正在处理的java库,返回null
错误.是否有一种惯用的说法:
val x:Option[T]
if(x.isEmpty)
false
else
x.get.isFooable()
Run Code Online (Sandbox Code Playgroud)
我看过Scala的答案:布尔到选项.那些接近我想要的,然后有更多惯用的方式:
x.isDefined && x.get.isFooable()
Run Code Online (Sandbox Code Playgroud)