首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Nexus访问Maven中的Java BigQuery工具

用Nexus访问Maven中的Java BigQuery工具
EN

Stack Overflow用户
提问于 2012-08-12 13:47:30
回答 3查看 855关注 0票数 0

我刚刚开始用Java构建bigquery上传器。目标是下载一个完整的twitter流并将其上传到每小时一次的桶中,然后在Dremel中为主题检测和跟踪项目处理这些内容。这都是Eclipse中MacOSX上的Java,加上带有本地Nexus代理的Maven。

我被困在了起点;找到并编译了一个简单的Java示例,它对CSV文件进行身份验证和上传。我发现的最接近的是,虽然我不明白为什么我需要一个bigquery项目的appengine。稍后再研究。

问题是,该项目不会在maven中构建。eclipse中没有显示错误标志,但eclipse错误标志通常是不可靠的。pom在此元素上显示一个红色eclipse标志:

com.google.apis google-api-services-bigquery ${bigquery.version}

Maven安装失败

错误未能在项目bigquery上执行目标:无法解决项目com.google.api.client:bigquery示例:war:1.0.0-快照:无法解决下列工件: com.google.apis-samples:shared-sample-appengine:jar:1.3.2,s:google-api-services-bigquery:jar:v2-rev18-1.7.2-beta:无法在...SOF中找到com.google.apis-samples:shared-sample-appengine:jar:1.3.2不允许URL.在本地存储库中缓存,在nexus的更新间隔已过或更新被迫->帮助1之前,将不会重新尝试解析。

http://mavenrepo.google-api-java-client.googlecode.com/hg/http://google-gson.googlecode.com/svn/mavenrepo/ (都设置为快照)定义了Nexus。这两种方法似乎都没有用。浏览存储和索引都是空的(只是一个原型目录)。然而,Browse似乎确实可以工作,AFAICT;显示了一个似乎已经完成的maven存储库树。

那么,我的问题是:如何用maven在Java中构建bigquery示例?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-17 20:49:15

根据我从谷歌外部观察到的情况,提出的问题的答案是:

  • 还没有java示例可用(还没有?)包括上传。投寄答案中地址的示例仅包括查询帐户中已经存在的示例数据。
  • 与我需要的最接近的示例似乎是命令行和python示例。但是,使用它们很复杂,因为每个示例都是硬连接的,只适用于特定的maven依赖版本,因此样本不会被更新。 当新的API版本发布时,而旧的API版本通常无法通过 梅文。
  • maven问题似乎源自于使用一个非常特殊的版本编号系统(例如v2beta1-rev17-1.7.1-beta-beta示例)。 上图)。Maven依赖于严格遵守约定,诸如此类。 版本号绝对不符合。为了快速变化 测试版代码,版本号应该是主要#.未成年人#.微快照,如maven书中所记录的。如注释中所解释的,没有异常或maven中断。

紧急请求:请提供一个工作的java示例,该示例涵盖所有BigQuery特性,特别是步骤1;上载数据。请将示例与API代码捆绑,以确保它们保持同步。并自始至终采用maven约定,包括追溯性的。

票数 0
EN

Stack Overflow用户

发布于 2012-08-12 18:39:46

这里有一些非App示例:http://code.google.com/p/google-bigquery-tools/source/browse/samples/java/

我使用Sonatype的Maven插件,至少您的pom.xml应该如下所示:

代码语言:javascript
复制
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.google</groupId>
  <artifactId>google</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>google</name>
  <url>http://maven.apache.org</url>

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

  <dependencies>
     <dependency>
      <groupId>com.google.api-client</groupId>
      <artifactId>google-api-client</artifactId>
      <version>1.10.3-beta</version>
    </dependency>

    <dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-bigquery</artifactId>
      <version>v2-rev19-1.7.2-beta</version>
    </dependency>

    <dependency>
      <groupId>com.google.oauth-client</groupId>
      <artifactId>google-oauth-client</artifactId>
      <version>1.8.0-beta</version>
    </dependency>
  </dependencies>

  <repositories>
      <repository>
      <id>google-api-services</id>
      <url>http://mavenrepo.google-api-java-client.googlecode.com/hg</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>    
  </repositories>

</project>
票数 1
EN

Stack Overflow用户

发布于 2013-01-09 01:53:10

在测试了这些库的url http://google-api-client-libraries.appspot.com/mavenrepo之后,我就能够让它工作了。它不允许浏览,所以nexus将尝试索引此回购和失败。当这种情况发生时,Nexus将阻止对此回购的访问,因此本地构建由于缺少依赖关系而失败。

为了缓解这种情况,我在Nexus中为这个存储库更改了两个设置。

  • 下载远程索引= false
  • 启用AutoBlock = false

有了这个集合,我就能够正确地构建和下载依赖项。

注意:我们还为Android使用,它有相同的问题,同样的解决方案被应用,我们能够缓存新的依赖项。

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

https://stackoverflow.com/questions/11922658

复制
相关文章

相似问题

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