【问题标题】:Querying workitem tfs sdk - Timezone must not be null查询工作项 tfs sdk - 时区不能为空
【发布时间】:2014-05-06 14:56:39
【问题描述】:

我正在使用 SDK for Java 创建一个查询。

我想获取从 2 天前到今天的 ID。

String wiqlQuery = "Select ID from WorkItems where System.ChangedDate >= @Today-2";
WorkItemCollection workItems = workItemClient.query(wiqlQuery);

我还尝试使用 MSDN 中的这个示例来测试带有日期的“WHERE”子句:

String wiqlQuery = "Select ID from WorkItems where [System.ChangedDate] >= '1/8/06 GMT'";

我收到以下消息:

Exception in thread "main" java.lang.NullPointerException: timeZone must not be null

参考:http://msdn.microsoft.com/en-us/library/bb130148%28v=vs.90%29.aspx

谁能帮我解决这个问题?

提前致谢。

【问题讨论】:

  • 我不确定这是否有用,但我之前遇到了一些问题,因为 tfs 服务器上的时间与客户端上的时间不同

标签: java tfs wiql


【解决方案1】:

连接到 TFS 时,需要指定 ConnectionAdvisor。如果在创建 TFSTeamProjectCollection 的新实例时未指定连接顾问,则会使用默认区域设置和时区创建 DefaultConnectionAdvisor。也许它没有设置默认的语言环境和时区。

不过,最好在 defaultConnectionAdvisor 中设置时区。

ConnectionAdvisor connectionAdvisor = new DefaultConnectionAdvisor(Locale.US, TimeZone.getTimeZone("UTC"));
tpc = new TFSTeamProjectCollection(URIUtils.newURI(TFS_COLLECTION_URL), credentials, connectionAdvisor);

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2012-10-14
    相关资源
    最近更新 更多