flatMap需要一個實現(xiàn)了一交遍歷接口的類型或返回這個類型的函數(shù),_.split("")返回的是list, list也實現(xiàn)了TraversableOnce,所以類型是匹配的。
final def flatMap[B](f: (A) ? GenTraversableOnce[B]): List[B]把主項目中的 build.gradle 內容一行一行條這個位置做測試,改了下倉庫,最后終于可以了。。。
group 'com.xxx.yyy'
version '0.1.0'
buildscript {
ext {
springBootVersion = '1.5.10.RELEASE'
}
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath('se.transmode.gradle:gradle-docker:1.2')
}
}
subprojects {
apply plugin: 'idea'
apply plugin: 'java'
apply plugin: 'docker'
apply plugin: 'org.springframework.boot'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
}
configurations {
all*.exclude module: 'spring-boot-starter-logging'
all*.exclude module: 'logback-classic'
}
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Edgware.SR3'
}
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
compile('org.springframework.boot:spring-boot-starter-log4j2')
compile('org.springframework.boot:spring-boot-starter-test')
compile('com.fasterxml.jackson.dataformat:jackson-dataformat-yaml')
}
}
順便在某些 module 下加上了
bootRepackage {
enabled = false
}Rational類傳進來的參數(shù),在add方法中是可以訪問到.
如果add定義成這樣就沒問題 def add(n:Int,d:Int)={}.
但是add傳入了一個rational對象,在add里,參數(shù)that是Rational類.
而Rational類沒有n和d屬性,所以無法訪問.
使用EXPLODE函數(shù)可以鋪平數(shù)組
SELECT EXPLODE(data) FROM behavior你也許應該在test文件夾下建立測試用例
你也看到了你的依賴的配置
<scope>test</scope>
這個配置表示只會在測試中應用這個依賴,你而測試代碼默認是在test包下
- src
- main
- scala //scala源碼
- resources // 資源文件
- test
- scala //scala測試用例
- resources // 測試用例資源文件Gradle 用的是Groovy語言,加一些DSL, Groovy幾乎完成兼容Java, 所以如果你會Java(既然是java項目), 你完全可以在build.gradle里用你所會的java全部技能,按java語法聲明和使用變量即可
很簡單,直接為這個UDF加參數(shù)不就行了
requires a placeholder substitution but no value for <GETUI_APP_ID> is provided
朋友,你這個報錯是個推的,不是JPush的
gradlew Gradle Wrapper
你使用這個命令時 gradle wrapper 會去 ${user.home}/.gradle/wrapper/dists 目錄尋找 gradle 依賴運行,如果沒有那就會去下載對應的包。
如果你期望使用你本地安裝的 gradle 那你可以使用 gradle build 運行,而不是 ./gradlew build 運行。
可以看下setting里面的build的設置,另外得保證能下載,有時候國內網(wǎng)絡很難下載成功gradle
有多少個加多少個就行了,放在google()前面
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven{ url 'https://maven.aliyun.com/repository/google' }object 可以擴展類或特質,其結果是一個擴展了指定類或特質的對象,同時擁有在對象定義中給出的所有特性。object 和 class 的區(qū)別是:你可以理解為 object 是單例模式,它只能有一個;而 class 可以創(chuàng)建多個。abstract Fruit 是什么東西……而且大括號括起來的是代碼塊,Fruit里面兩個值都是 val,你必須改成小括號使用主構造器方法。如下可通過編譯:abstract class Fruit(val name: String, val color: String)
object Fruit{
object Apple extends Fruit("apple","red")
val menu=List(Apple)
}
這里 extens Fruit("A","B") 帶了兩個參數(shù),就是在繼承時構造,畢竟里面兩個值你都用了 val。object Fruit 就是 abstract class Fruit 的伴生對象了。
把class移到外面仍然是無效的。
我對這個理解就是,val類型不能被初始化兩次。如果非要用重寫來“初試化”兩次,那么編譯器就會忽略父類的初始化,而去使用子類的初始化,而此時子類的初始化并沒有執(zhí)行,所以只能是null。改成lazy類型就可以了,當然了,還有其他更多的方法。參考資料見Variable has been Initialized in Scala class, but what it print is null?(這個問題是我提出的)。scala官網(wǎng)也有解釋WHY IS MY ABSTRACT OR OVERRIDDEN VAL NULL?
.str.extract('^(.+?\.)')
正則里面括號表示捕獲分組,而你的分組內并沒有捕獲.
gradle就是一個傻吊,坑死了,前段時間不會弄,老是報錯。果斷轉成maven項目,舒服多了
1.自定義 task
//將文件拷到 assets 目錄下
//Google
task chGoogleRes(type : Copy) {
from "/Users/yanggu/Desktop/untitled.txt"
into "src/main/assets"
}
//Xiaomi
task chXiaomiRes(type : Copy) {
from "/Users/yanggu/Desktop/helper/untitled.txt"
into "src/main/assets"
}
project.afterEvaluate {
//Xiaomi
tasks.matching {
it.name.startsWith('compile') && (it.name.endsWith('XiaomiReleaseSources'))
}.each { task ->
task.dependsOn(chXiaomiRes) // 任務依賴:執(zhí)行task之前需要執(zhí)行dependsOn指定的任務
}
//Google
tasks.matching {
it.name.startsWith('compile') && (it.name.endsWith('GoogleReleaseSources'))
}.each { task ->
task.dependsOn(chGoogleRes) // 任務依賴:執(zhí)行task之前需要執(zhí)行dependsOn指定的任務
}
}
2.依賴 modle
//一個渠道新建一個 modle,不同的的渠道依賴不同的 modle,把不同的資源放在不同的mudle,適合有多個資源不同的情況(資源名得一樣,比如有三張背景圖片分別放在三個 modle 下,但它們的名字得一樣)
dependencies {
googleCompile project(':googlereslib')
xiaomiCompile project(':xiaomireslib')
_360Compile project(':_360reslib')
}
3.代碼判斷當前的渠道
//把所有的圖片都放到工程下,根據(jù)代碼判斷當前的渠道來設置不同的圖片,適合一張圖片不一樣的情況(名字得不一樣)
switch (BuildConfig.FLAVOR) {
case "google":
//TODO
break;
case "xiaomi":
//TODO
break;
case "_360":
//TODO
break;
}已解決
外站.
你打包的時候是不是用的gradle wrapper?。磕莻€是通過項目項目工程下的gradlew腳本下載運行的。如果你的IDE配置使用gradle wrapper而不是本地gradle可執(zhí)行程序的話,的確是會下載的。
雖然我沒直接用過cordova,但我用過ionic,底層使用cordova。這玩意似乎是直接使用android sdk下的gradle wrapper執(zhí)行android項目打包的,所以會直接下載。你可以看到gradle wrapper下載的gradle就在~/.gradle/wrapper/目錄下
問題更新:
我找到一種方法
apply from: rootProject.getRootDir().getAbsolutePath() + "/config.gradle"
有其他的方法嗎?
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。