2012-02-27 91 views
1

我正在尝试将Google的JSON RPC库集成到我的Grails项目中。 Maven配置是here,我还拿了片段从网站...使用Grails和Maven构建依赖项问题

<dependencies> 
    <dependency> 
     <groupId>org.json.rpc</groupId> 
     <artifactId>jsonrpc</artifactId> 
     <version>1.0</version> 
    </dependency> 
</dependencies> 

<repositories> 
    <repository> 
     <id>json-rpc</id> 
     <url>http://json-rpc.googlecode.com/svn/mavenrepo</url> 
    </repository> 
</repositories> 

所以,我把上面的Maven的配置,并把它放在我的项目的BuildConfig.groovy ..

grails.project.dependency.resolution = { 
    repositories{ 
    mavenRepo "http://json-rpc.googlecode.com/svn/mavenrepo" 
    } 

    dependencies { 
    compile "org.json.rpc:jsonrpc:1.0" 
    } 
} 

当我刷新项目依赖的是,Grails引发此错误..

org.json.rpc#jsonrpc; 1.0:java.text.ParseException:0找到不一致 模块描述符文件'http://json-rpc.googlecode.com/svn/mavenrepo/org/json/rpc/jsonrpc/1.0/jsonrpc-1.0.pom': 错误修订:期望='1.0'发现='1.0-SNAPSHOT “;

我不确定这是否与Google repo或我的配置有关。根据错误消息,看起来Grails期望从pom得到1.0-SNAPSHOT,所以我将我的构建文件更改为compile "org.json.rpc:jsonrpc:1.0-SNAPSHOT",但这会导致“模块未找到”错误消息。

回答

3

它看起来像从仓库中的POM文件有问题:

<groupId>org.json.rpc</groupId> 
    <artifactId>jsonrpc</artifactId> 
    <name>JSON-RPC</name> 
    <version>${jsonrpc.version}</version> 

    <properties> 
     <jsonrpc.version>1.0-SNAPSHOT</jsonrpc.version> 
     <java.version>1.5</java.version> 

     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

的神器的版本是1.0,但是从POM文件的版本定义为1.0快照。

+0

我如何下载JAR和POM,更新POM,创建我自己的本地回购,并指出这一点?至少我现在可以解决这个问题,如果项目没有人会修复它 – raffian 2012-02-27 02:42:05

+2

@RaffiM你可以做到这一点,或者只是下载jar并将它放到你的'lib'目录中,直到他们解决了pom问题。 – proflux 2012-02-27 02:43:36