有没有办法禁用javac 1.6.0_22的限制,阻止我使用JRE内部类sun.awt.event.*?
我不是在寻找:
我只想知道它是否可能,如果是,那么如何.
我正在将现有项目从ant转换为Gradle.
不幸的是,有一个Java类使用com.sun.xml.internal.bind.DatatypeConverterImpl.有一件事我会考虑更换这种用法,但此时我只是好奇为什么Gradle找不到那个类,导致编译失败.
信息是
package com.sun.xml.internal.bind does not exist
Run Code Online (Sandbox Code Playgroud)
请注意,它在eclipse中编译良好以及使用javac ant任务.JAVA_HOME设置为1.6.0_27.
那么Gradle的独特之处在于默认情况下它会导致它找不到这个类,怎么可能有人解决这个问题呢?
请参阅Java代码段,后跟build.gradle文件:
final class Test{
private static final javax.xml.bind.DatatypeConverterInterface DTC = com.sun.xml.internal.bind.DatatypeConverterImpl.theInstance;
.....
DTC.printDateTime(Calendar.getInstance());
}
Run Code Online (Sandbox Code Playgroud)
apply plugin: 'java'
apply plugin: 'application'
mainClassName = "com.foo.bar.Test"
sourceCompatibility = 1.6
version = '5.4.0'
jar {
manifest {
attributes 'Implementation-Title': 'Foo', 'Implementation-Version': version, 'Implementation-Vendor': 'Bar'
}
}
repositories {
mavenCentral()
}
dependencies {
compile group: 'commons-lang', name: 'commons-lang', version: '2.4'
compile group: 'com.google.guava', name: 'guava', version: '10.0.1'
compile group: 'org.hibernate.javax.persistence', name: 'hibernate-jpa-2.0-api', version: '1.0.1.Final' …Run Code Online (Sandbox Code Playgroud)