我正在开发一个使用 Gradle(版本2.1)作为构建依赖项工具的Java Web项目。我使用 Eclipse Luna 作为我的IDE。我的操作系统是 Mac 10.9(小牛队)。
这是我的 build.gradle 文件(非常基本并且为了便于说明而被删除):
apply plugin: 'java'
apply plugin: 'eclipse-wtp'
sourceCompatibility = 1.8
version = '1.0'
repositories {
mavenCentral()
}
dependencies {
compile group: 'com.google.inject', name: 'guice', version: '3.0'
}
所以只有一个依赖,Guice。我将使用gradle cleanEclipse eclipse
生成我的Eclipse类路径和项目文件。然后我将现有项目导入我的工作区。我喜欢能够在我的Eclipse项目中查看我的依赖项的源代码,因此我将使用CMD-SHIFT-T打开一个Guice类,例如com.google.inject.Injector
。瞧,该文件的源代码将会出现。
但是我正在开发一个Web项目,所以我需要能够构建一个WAR文件而不是一个JAR文件。因此,我将使用apply plugin: 'java'
替换apply plugin: 'war'
来应用 Gradle War Plugin 。然后我重新运行gradle cleanEclipse eclipse
并重新打开我的项目。
现在,当我打开Injector时,我不会看到源代码,而是会看到带有“附加源”按钮的字节码查看器。任何人都有任何想法,不管它是不是我和#39 ;我忘记了 build.gradle 文件,或者它是否是Gradle / Eclipse中的错误?
请注意,我没有使用Gradle Integration for Eclipse Plugin,因为我希望在不增加额外复杂性的情况下查明此问题的根本原因。我还检查了有关Gradle和Eclispe的附加源问题的其他SOF问题,例如how to tell gradle to download all the source jars和Why is Eclipse not attaching 3rd party libs source files to a WTP-faceted Gradle project?,但无济于事。