我需要編譯一個使用java語言級別1.3的相當老的項目。必須使用語言級別1.3,因爲所有類都使用默認包,並且在更高語言級別上不允許從默認包導入類。如何用gradle編譯java 1.3代碼?
我能夠通過在Eclipse配置中將語言級別更改爲1.3來編譯項目,但在使用gradle時遇到問題。我加入sourceCompatibility
和targetCompatibility
我的build.gradle文件:
compileJava {
sourceCompatibility = 1.3
targetCompatibility = 1.3
}
產生以下警告:
warning: [options] bootstrap class path not set in conjunction with -source 1.3
warning: [options] source value 1.3 is obsolete and will be removed in a future release
warning: [options] target value 1.3 is obsolete and will be removed in a future release
但編譯失敗指向我的import語句:
...\src\Foo.java:
10: error: '.' expected
import Bar;
我問題是:如何使用gradle編譯Java 1.3代碼而不更改代碼?
-v的gradle:
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy: 2.2.0
JVM: 1.8.0_05 (Oracle Corporation 25.5-b02)
OS: Windows 7 6.1 amd64
你的代碼編譯時沒有設置targetCompatibility(即使用1.6/1.7 /任何)? –
你確定你的代碼實際上與java 1.3兼容嗎? –
是否有任何理由不想通過將代碼放入命名包中來修復代碼?從長遠來看,這可能會更有成效。 –