grails:在普通http服务器(s3)上托管maven风格的插件
我正在使用grails:在普通http服务器(s3)上托管maven风格的插件,maven,grails,amazon-s3,Maven,Grails,Amazon S3,我正在使用release:3.0和maven-s3-wago将grails插件发布到我自己的s3repo中。s3回购协议具有“全民公开阅读”功能,并支持网站。问题是,我不知道如何在我的项目中配置BuildConfig.groovy来使用这个插件 使用Maven在s3上托管似乎是可能的,我发现了一些发布指南:,还有一些非常类似:。也有,但我认为这是可选的,只供人类使用。尽管我的grails解析器被配置为maven,但还有一个问题 考虑到所有这些,我不明白为什么我使用这个插件失败了。以下是我的Bui
release:3.0
和maven-s3-wago
将grails插件发布到我自己的s3repo中。s3回购协议具有“全民公开阅读”功能,并支持网站。问题是,我不知道如何在我的项目中配置BuildConfig.groovy
来使用这个插件
使用Maven在s3上托管似乎是可能的,我发现了一些发布指南:,还有一些非常类似:。也有,但我认为这是可选的,只供人类使用。尽管我的grails解析器被配置为maven,但还有一个问题
考虑到所有这些,我不明白为什么我使用这个插件失败了。以下是我的BuildConfig.groovy
中的内容:
grails.project.dependency.resolution = {
repositories {
mavenRepo "http://mybucket.s3-website-us-east-1.amazonaws.com"
}
plugins {
compile 'com.mydomain:myplugin:0.4'
}
}
下面是mybucket
的“s3列表递归”外观:
2014-03-20 15:40:06 507 com/mydomain/myplugin/0.4/myplugin-0.4-plugin.xml
2014-03-20 15:40:06 32 com/mydomain/myplugin/0.4/myplugin-0.4-plugin.xml.md5
2014-03-20 15:40:07 40 com/mydomain/myplugin/0.4/myplugin-0.4-plugin.xml.sha1
2014-03-20 15:39:56 66482 com/mydomain/myplugin/0.4/myplugin-0.4.grails-plugin
2014-03-20 15:39:57 32 com/mydomain/myplugin/0.4/myplugin-0.4.grails-plugin.md5
2014-03-20 15:39:58 40 com/mydomain/myplugin/0.4/myplugin-0.4.grails-plugin.sha1
2014-03-20 15:40:03 8893 com/mydomain/myplugin/0.4/myplugin-0.4.pom
2014-03-20 15:40:04 32 com/mydomain/myplugin/0.4/myplugin-0.4.pom.md5
2014-03-20 15:40:04 40 com/mydomain/myplugin/0.4/myplugin-0.4.pom.sha1
2014-03-20 15:40:01 354 com/mydomain/myplugin/maven-metadata.xml
2014-03-20 15:40:01 32 com/mydomain/myplugin/maven-metadata.xml.md5
2014-03-20 15:40:02 40 com/mydomain/myplugin/maven-metadata.xml.sha1
2014-03-20 15:37:15 13 index.html
注意index.html是一个简单的“hello world”
当我运行grails dependency report
或grails run app
时,我的插件会失败,因为它在别处不存在。以下是依赖关系报告中的一个示例:
| Error Could not find artifact com.mydomain:myplugin:zip:0.4 in mybucket_s3-website-us-east-1_amazonaws_com (http://mybucket.s3-website-us-east-1.amazonaws.com) (scope: test) (Use --stacktrace to see the full trace)
我希望grails解析能够显示它试图获取的确切URL。但我缺少什么来让这一切顺利进行呢?是否有“generic”pom.xml
或其他根文件?您可以在那里浏览并查看您的人工制品吗?是人工制品的URL吗?我问这个问题的原因是因为我们的回购协议有一个/repository/com/mydomain
路径,您可能在mavenRepo
条目中缺少URL前缀?编辑:如果URL不可用,您可能必须从运行grails的服务器使用wgetpublic@nickdosURL是公共的。它们不能从根目录浏览,也没有目录列表或任何东西。但是是的,com/mydomain/。。路径用于访问它。没有前缀。我有一个理论,这是因为它们没有压缩-你能看到你的私有回购工件是否压缩了吗?插件工件是不寻常的,因为它们必须压缩(是的,我的是压缩的)。当您运行grailsmavendeploy
时,Grails会为您做到这一点——请参阅我使用mavendeploy
进行部署的方式。我必须手动上传zip和sha1以使它们出现。所以有两件事可能是错误的——我没有将它上传到正确的位置,或者我的解析器是错误的。如何在buildconfig中运行解析器(mavenRepo
或urlsolver
可能?)以实际使用它?而且是dependency.resolver=“maven”
?FWIW,刚刚尝试将zip文件放入我的主项目的lib
文件夹,但它不起作用。想知道我是否有更大的问题?