【发布时间】:2017-10-03 03:30:20
【问题描述】:
我有一个用 Java、Scala 和 Kotlin 编写的项目。
但是当我在 Gradle 中构建这个项目时,它会出现错误消息:
11:19:51: Executing task 'build'...
:compileKotlin
Using Kotlin incremental compilation
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (3, 19):
Unresolved reference: Flag
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (10, 18):
Unresolved reference: GroupMessageResponder
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (13, 2):
'doPost' overrides nothing
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (35, 23):
Unresolved reference: Flag
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (38, 2):
'getHelpMessage' overrides nothing
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (40, 2):
'getKeyWordRegex' overrides nothing
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (42, 2):
'instance' overrides nothing
:compileKotlin FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileKotlin'.
> Compilation error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --
debug option to get more log output.
BUILD FAILED in 1s
1 actionable task: 1 executed
Compilation error. See log for more details
11:19:53: Task execution finished 'build'.
那些错误都是关于“未解决的引用”,而那些“引用”都是用 Scala 或 Java 编写的。
但是在 IDEA 中运行这个项目工作正常。
我以为这是 Gradle 先编译 Kotlin 造成的,应该是最后编译的,所以找不到那些“引用”。
这是我的build.gradle:build.gradle
更新:
gradle clean testClasses --info的部分输出:
...SKIP...
> Task :compileKotlin
Using Kotlin incremental compilation
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (3, 19):
Unresolved reference: Flag
e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (11, 18):
Unresolved reference: GroupMessageResponder
...SKIP....
> Task :compileKotlin
[KOTLIN] deleting F:\Code\Project\Avalon\build\classes\kotlin\main on error
[KOTLIN] deleting F:\Code\Project\Avalon\build\classes\kotlin\main on error
:compileKotlin (Thread[Task worker Thread 3,5,main]) completed. Took 15.981 secs.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':compileKotlin'.
> Compilation error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option
to get more log output.
BUILD FAILED in 24s
2 actionable tasks: 2 executed
Stopped 0 worker daemon(s).
已发布完整输出 here。
【问题讨论】:
-
在使用不止一种非 Java-JVM 语言时必须小心。
Unresolved reference: Flag属于哪个类?是scala吗?你能运行./gradlew clean testClasses --info并发布输出吗 -
@guenhter 当
Kotlin引用Scala,执行gradle build时发生此错误。gradle clean testClasses --info的输出现已发布... -
能否请您发布更多输出。最好是从顶部。我知道问题出在哪里,但我需要更多日志。
-
@guenhter 我在Github Gist发布了完整的日志
-
:) 好吧,这很清楚。请参阅下面的答案
标签: java scala gradle kotlin build.gradle