Gradle sourceDir没有为Eclipse添加defaultRootSource

时间:2015-03-06 09:53:12

标签: java eclipse gradle eclipse-wtp

我尝试配置 eclipse-wtp 以使用旧的Ant项目。我的网络项目位于/app。一切都差不多了。唯一缺失的部分是defaultRootSource中的标记<wb-resource deploy-path="/" source-path="/path/euro-gradle/app"/>。当我添加此标记(通过编辑 org.eclipse.wst.common.component )时,应用程序通常会在嵌入式Tomcat上启动。没有这个Tomcat就会启动而不是部署应用程序。

我的gradle构建:

eclipse {
    wtp {
        facet{
            facet name: 'jst.web', version: '2.5'
            facet name: 'java', version: '1.7'
        }

        component {
            contextPath = '/'
//            resource deployPath: '/', sourcePath: '/app'
            sourceDirs += file('/app')
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您需要在项目上设置webAppDirName(默认为src/main/webapp)。另见http://gradle.org/docs/current/userguide/war_plugin.htmleclipse-wtp插件将使用此路径作为默认的根源路径。

答案 1 :(得分:0)

不幸的是,用于创建部署配置文件.settings / org.eclipse.wst.common.component的Gradle WbResource生成器似乎不支持除了部署路径和源路径之外的任何内容。

WbResource source code

所以我们必须采用直接的xml操作:

eclipse.wtp.component.file.withXml { provider ->
    def mainWebSourcePathNode = provider.asNode()['wb-module'][0].get('wb-resource').find { 
        it.attribute('source-path') == project.convention.plugins.war.webAppDirName 
    }
    mainWebSourcePathNode['@tag'] = 'defaultRootSource'
}