2014-06-23 127 views
1

我需要編譯一個使用java語言級別1.3的相當老的項目。必須使用語言級別1.3,因爲所有類都使用默認包,並且在更高語言級別上不允許從默認包導入類。如何用gradle編譯java 1.3代碼?

我能夠通過在Eclipse配置中將語言級別更改爲1.3來編譯項目,但在使用gradle時遇到問題。我加入sourceCompatibilitytargetCompatibility我的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 
+1

你的代碼編譯時沒有設置targetCompatibility(即使用1.6/1.7 /任何)? –

+1

你確定你的代碼實際上與java 1.3兼容嗎? –

+1

是否有任何理由不想通過將代碼放入命名包中來修復代碼?從長遠來看,這可能會更有成效。 –

回答

0

該錯誤消息是誤導。 sourceCompatibility確實配置正確,Bar沒有找到,因爲缺少依賴關係。我的錯。

+0

什麼缺少依賴關係? –

+0

只是我在我的項目中使用的任意庫 –