Grails / Angular / Gradle:使用grails-gradle-plugin进行可能的资源加载问题?

时间:2014-08-15 07:55:06

标签: grails gradle dependencies

Grails / Angular / Gradle:gradle-grails-plugin的资源加载问题?

我有一个带有 Angular 前端的 Grails 项目(名为web-grails的项目)。我们想要做的是将Angular组件(主要是JavaScript(js)和HTML文件)重构到它自己的项目(名为web-js-html)中,即将一个单独的JavaScript / HTML项目捆绑到一个jar中。

我们正在使用 Gradle 在多个构建中构建这两个项目。组装web-js-html,以便所有资源都在 META-INF / resources 下。这样,servlet 3.0容器会自动将它们放到类路径上,例如我们可以在web-grails的HTML文件中引用它们。像

这样的东西
// file: web-grails/grails-app/views/index.gsp
<html>
    <body>
    ...
    <script src="webjars/gradle-multiproject/components/jquery/jquery-1.11.0.js"></script>
    </body>
</html>

然后在引用的web-js-html项目的类路径中找到引用的jquery文件。

当我在独立的Tomcat 7.0.54中部署web-grails的战争时,一切正常,即加载引用的JavaScript文件并相应地加载页面。 但是,当我直接从gradle运行web-grails时,使用

  

gradle grails-run-app

无法找到/加载来自web-js-html项目的引用文件(我们收到404),例如:

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8080/web-grails/webjars/gradle-multiproject/components/bootstrap/css/bootstrap.min.css

我们对Gradle的配置如下:

// web-grails/build.gradle

apply plugin: "grails"

repositories {
    mavenLocal()
    maven { url artifactory_url }
}

buildscript {
    repositories {
        mavenLocal()
        maven { url artifactory_url }
    }
    dependencies {
        classpath 'org.grails:grails-gradle-plugin:2.0.1'
    }
}

grails {
    grailsVersion = '2.3.8'
    groovyVersion = '2.3.0'
}

dependencies {
    bootstrap 'org.grails.plugins:tomcat:7.0.50'
    compile "com.h2database:h2:1.3.173"
    compile "org.grails.plugins:resources:1.2.7"
    compile "org.grails.plugins:hibernate:3.6.10.13"
    compile project(':web-js-html')
}


// web-js-html/build.gradle
apply plugin: 'java'

ext {
    webjarconfig = [
            staticHTMLFilesDir : "${projectDir}/src/main/webfrontend",
            baseDir: "META-INF/resources/",
            subDir : "webjars/" + deployed_app_name
    ]
}

jar {
    from(fileTree(webjarconfig.staticHTMLFilesDir)) {
        into webjarconfig.baseDir + webjarconfig.subDir
    }
    outputs.file archivePath
}

我不确定如何继续。 grails-gradle-plugin的源代码建议将必要的依赖项放在类路径上,当我在独立的Tomcat中部署war文件时(见上文所述),它确认了。

这是我身上的配置问题,即我是不是以正确的方式使用插件?或者这可能是插件中的问题/错误?我没有在https://github.com/grails/grails-gradle-plugin/issues

找到问题

有什么想法吗?

0 个答案:

没有答案