相关疑难解决方法(0)

使用带有javac的内部sun类

有没有办法禁用javac 1.6.0_22的限制,阻止我使用JRE内部类sun.awt.event.*

不是在寻找:

  1. 解释为什么被禁止.
  2. 建议使用不同的类
  3. 建议使用反射
  4. 建议使用ecj/eclipse

我只想知道它是否可能,如果是,那么如何.

java javac internal

50
推荐指数
2
解决办法
3万
查看次数

Gradle:如何编译使用com.sun.xml.internal.bind.*的类?

我正在将现有项目从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)

java eclipse maven-2 classpath gradle

5
推荐指数
1
解决办法
5313
查看次数

标签 统计

java ×2

classpath ×1

eclipse ×1

gradle ×1

internal ×1

javac ×1

maven-2 ×1