首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails内联(inplace)插件无法解决依赖

Grails内联(inplace)插件无法解决依赖
EN

Stack Overflow用户
提问于 2013-08-14 17:04:24
回答 1查看 2.7K关注 0票数 1

我有一个名为Media的插件,它应该负责图像大小调整等等。

它有以下几个依赖关系:

代码语言:javascript
复制
dependencies {
    compile group: 'org.ccil.cowan.tagsoup',
            name: 'tagsoup',
            version: '1.2'
    runtime group: 'org.codehaus.groovy.modules.http-builder',
            name: 'http-builder',
            version: '0.5.2'
    compile group: 'org.imgscalr',
            name: 'imgscalr-lib',
            version:'4.2'
    compile group: 'org.apache.tika',
            name:  'tika-core',
            version: '1.3'
} 

当我将插件作为一个独立的应用程序运行时,一切都很好。

而不是我创建了一个应用程序,并在我的BuildConfig.groovy文件中添加了内置插件依赖项。

代码语言:javascript
复制
// there is grails.project.dependency.resolution closure above
grails.plugin.location.Media = "../../plugins/Media";

当我运行我的应用程序时,我会得到以下错误:

代码语言:javascript
复制
| Error Compilation error: startup failed:
/home/grails/plugins/Media/grails-app/controllers/frod/media/ImageServiceController.groovy: 14: unable to resolve class org.imgscalr.Scalr
@ line 14, column 1.
import org.imgscalr.Scalr
^

/home/grails/plugins/Media/src/groovy/frod/media/download/CachedContentDownloader.groovy: 3: unable to resolve class org.apache.http.HttpResponse
@ line 3, column 1.
import org.apache.http.HttpResponse
^

/home/grails/plugins/Media/src/groovy/frod/media/download/ContentDownloader.groovy: 3: unable to resolve class org.apache.http.HttpResponse
@ line 3, column 1.
import org.apache.http.HttpResponse
^

/home/grails/plugins/Media/src/groovy/frod/media/download/ContentDownloader.groovy: 4: unable to resolve class org.apache.http.client.HttpClient
@ line 4, column 1.
import org.apache.http.client.HttpClient
^

/home/grails/plugins/Media/src/groovy/frod/media/download/ContentDownloader.groovy: 6: unable to resolve class org.apache.http.impl.client.DefaultHttpClient
@ line 6, column 1.
import org.apache.http.impl.client.DefaultHttpClient
^

/home/grails/plugins/Media/src/groovy/frod/media/download/ContentDownloader.groovy: 5: unable to resolve class org.apache.http.client.methods.HttpGet
@ line 5, column 1.
import org.apache.http.client.methods.HttpGet
^

/home/grails/plugins/Media/src/groovy/frod/media/download/DownloadedContent.groovy: 3: unable to resolve class org.apache.http.HttpEntity
@ line 3, column 1.
import org.apache.http.HttpEntity
^

/home/grails/plugins/Media/src/groovy/frod/media/download/IContentDownloader.groovy: 3: unable to resolve class org.apache.http.HttpResponse
@ line 3, column 1.
import org.apache.http.HttpResponse
^

/home/grails/plugins/Media/src/groovy/frod/media/image/thumbnail/adjustment/crop/CropProcessor.groovy: 5: unable to resolve class org.imgscalr.Scalr
@ line 5, column 1.
import org.imgscalr.Scalr
^

/home/grails/plugins/Media/src/groovy/frod/media/image/thumbnail/adjustment/resize/IResizeAdjustment.groovy: 3: unable to resolve class org.imgscalr.Scalr
@ line 3, column 1.
import org.imgscalr.Scalr
^

/home/grails/plugins/Media/src/groovy/frod/media/image/thumbnail/adjustment/resize/IResizeAdjustment.groovy: 16: unable to resolve class Scalr.Mode
@ line 16, column 5.
public Scalr.Mode getMode();
^

/home/grails/plugins/Media/src/groovy/frod/media/image/thumbnail/adjustment/resize/IResizeAdjustment.groovy: 18: unable to resolve class Scalr.Method
@ line 18, column 5.
public Scalr.Method getMethod();
^
// and many others

正如您所看到的,它无法解决依赖关系(您可以看到lib)。

我在谷歌上搜索了很多,发现我可以尝试将legacyResolve设置为真。我尝试了所有的组合(插件,应用程序,插件+应用程序)与这些设置和相同的结果-错误以上。

有人能帮我吗?

我的grails版本是2.2.3

非常感谢

弗兰克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-14 17:53:16

依赖关系由常春藤解决,但这取决于可用的POM文件。当您使用内联插件时,情况并非如此,因为您只是指向插件源代码。您可以将依赖项添加到应用程序的BuildConfig中,也可以使用maven-install脚本打包插件并将其复制到本地Maven缓存中。

maven-install有点不方便,因为您每次更改应用程序所需的插件时都必须重新运行它,但它更接近实际的安装过程。要使用像这样在本地发布的插件,请确保mavenLocal()在BuildConfig.groovy中没有注释,并添加一个依赖项,就像您已经发布了插件,例如compile ':myplugin:0.1'

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18237930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档