如何用gradle编译Java1.3代码?
我需要编译一个相当旧的项目,它使用java语言级别1.3。必须使用语言级别1.3,因为所有类都使用默认包,在更高的语言级别上不允许从默认包导入类 通过在Eclipse配置中将语言级别更改为1.3,我能够编译该项目,但在使用gradle时遇到了问题。我在build.gradle文件中添加了如何用gradle编译Java1.3代码?,java,gradle,Java,Gradle,我需要编译一个相当旧的项目,它使用java语言级别1.3。必须使用语言级别1.3,因为所有类都使用默认包,在更高的语言级别上不允许从默认包导入类 通过在Eclipse配置中将语言级别更改为1.3,我能够编译该项目,但在使用gradle时遇到了问题。我在build.gradle文件中添加了sourceCompatibility和targetCompatibility: compileJava { sourceCompatibility = 1.3 targetCompatibili
sourceCompatibility
和targetCompatibility
:
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
但编译失败,无法将我指向导入语句:
...\src\Foo.java:
10: error: '.' expected
import Bar;
我的问题是:如何使用gradle编译Java1.3代码而不更改代码
gradle-v:
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
错误消息具有误导性。sourceCompatibility确实配置正确,只是因为缺少依赖项而找不到Bar。我的错。您的代码是否在编译时没有设置targetCompatibility(即使用1.6/1.7/任何东西)?您是否确保您的代码实际上与java 1.3兼容?您是否有任何理由不想通过将其放入命名包来修复代码?从长远来看,这可能会更有效率。@GrzegorzOledzki我试图更改targetCompatibility,但我得到了同样的错误,这对我来说似乎是合理的。@Jorge_B是的,我可以使用Eclipse(当使用语言级别1.3时)编译项目。缺少什么依赖项?只是我在项目中使用的任意库