顯示具有 Lombok 標籤的文章。 顯示所有文章
顯示具有 Lombok 標籤的文章。 顯示所有文章

2018年8月19日 星期日

[Java] JavaDoc cannot find Lombok symbols

使用 Lombok 之後,要產生 JavaDoc 會出現以下的警告訊息:

...
Foo.java:3: error: cannot find symbol
@Log4j2
 ^
  symbol: class Log4j2
javadoc: warning - Class Data not found.
javadoc: warning - Class AllArgsConstructor not found.
javadoc: warning - Class Getter not found.
javadoc: warning - Class Log4j2 not found.

一個簡單的解決方法就是把 Lombok 標記解譯,

// build.gradle
apply plugin: 'io.franzbecker.gradle-lombok' version '1.8'

import io.franzbecker.gradle.lombok.task.DelombokTask
task delombok(type: DelombokTask) {
    ext.outputDir = file("$buildDir/delombok")
    outputs.dir(outputDir)
    sourceSets.main.java.srcDirs.each {
        inputs.dir(it)
        args(it, "-d", outputDir)
    }
}

javadoc {
    dependsOn delombok
    source = delombok.outputDir
    failOnError = false
}

參考資料:

2018年7月9日 星期一

[Eclipse] 使用 Lombok

承上文 [Android Studio] 使用 LombokLombok 是在 POJO 寫些注解,然後在編譯時期幫忙產生冗余代碼。

在 build.gradle 設置:

dependencies {
    ...
    compile 'org.projectlombok:lombok:1.18.+'
}

下載 lombok.jar 放置在 /Applications/Eclipse.app/Contents/MacOS, 在 /Applications/Eclipse.app/Contents/Eclipse/eclipse.ini 後面增加一行:
-javaagent:lombok.jar

參考資料:https://projectlombok.org/setup/android
參考資料:Install Lombok for Eclipse on Mac

Eclipse IDE for Java Developers

Version: Oxygen Release (4.7.0)
Build id: 20170620-1800

2015年7月24日 星期五

[Android Studio] 使用 Lombok

Lombok 是在 POJO 寫些注解,然後在編譯時期幫忙產生冗余代碼。

在 build.gradle 設置:

dependencies {
    ...
    compile 'org.projectlombok:lombok:1.16.+'
}

在 Android Studio 編譯時,會出現:

    error: package javax.annotation does not exist
查過網路資料,需要先安裝 Lombok Plugin,再在 Project 根目錄建立 lombok.config,並且設定:
lombok.addGeneratedAnnotation = false

參考資料:https://projectlombok.org/setup/android
參考資料:StackOverflow: How to set up compile library in android studio. LOMBOK

Android Studio 1.2.1.1
    compileSdkVersion 22
    buildToolsVersion "23.0.0 rc3"

[Java] Invalid HTTP method: PATCH

最近系統需要使用 Netty4,所以把衝突的 Netty3 拆掉,然後就出現了例外。 pom.xml <dependency> <groupId>com.ning</groupId> <artifactId>as...