Gradle尝试在依赖项代码中查找错误

时间:2014-06-15 06:37:07

标签: gradle

我尝试迁移到gradle我的项目,项目 - webon的插件,所以我需要导入这个webapp的十几个lib进行开发。有些jar包含冲突:相同的包,相同的类名,不同的类内容。重要的是 - 我没有在我的项目中明确使用这个类。

所以,我现在有配置。

...
def LIB_DIR = 'E:\\work\\source\\lib\\'
def wnc101M040 = fileTree(dir: LIB_DIR + 'Windchill-10.1.M040/srclib', include: '**/*.jar')
...

dependencies {
    compile(wnc101M040) {transitive = false}
    ...
}

当我尝试编译代码时。 Gradle告诉我错误:

com\ptc\cat\gxt\client\widget\TabPanelWidget.java(com\ptc\cat\gxt\client\widget:TabPanelWidget.java):112: cannot find symbol
symbol  : method hasBeenSelected()
location: class com.extjs.gxt.ui.client.widget.TabItem
            if(!((TabItem) item).hasBeenSelected()) {
                                ^
com\ptc\cat\gxt\client\widget\TabPanelWidget.java(com\ptc\cat\gxt\client\widget:TabPanelWidget.java):113: cannot find symbol
symbol  : method setHasBeenSelected(boolean)
location: class com.extjs.gxt.ui.client.widget.TabItem
                ((TabItem)item).setHasBeenSelected(true);
                               ^
com\ptc\cat\gxt\client\widget\TabPanelWidget.java(com\ptc\cat\gxt\client\widget:TabPanelWidget.java):164: cannot find symbol
symbol  : method blockComponent(com.ptc.cat.gxt.client.widget.TabPanelWidget)
location: class com.extjs.gxt.ui.client.util.Util
            Util.blockComponent(this);
                ^

那么,为什么要在我的外部库中检查类呢?如何禁用此功能?提前谢谢!

1 个答案:

答案 0 :(得分:0)

默认情况下,javac会尝试在Jars中编译源代码。要防止这种情况,您必须设置正确的编译器选项。如果我没记错的话,那就是:

tasks.withType(JavaCompile) {
    options.compilerArgs = ["-sourcepath", ""]
}

或者,["-implicit:none"]也可能有用。