当我使用以下内容在azure(java)中创建表时
CloudStorageAccount storageAccount = CloudStorageAccount.parse(storageConnectionString);
CloudTableClient tableClient = storageAccount.createCloudTableClient();
CloudTable table = tableClient.getTableReference("people");
table.createIfNotExist();
我收到以下例外:
java.lang.NoSuchMethodError: com.microsoft.windowsazure.services.table.client.CloudTableClient.getTableReference(Ljava /郎/字符串;)LCOM /微软/ windowsazure /服务/表/客户/ CloudTable;
我使用以下lib:microsoft-windowsazure-api-0.4.6.jar。 所有其他调用表都完美无缺。
当我使用microsoft-windowsazure-api-0.2.2.jar时,我必须使用createTableIfNotExists方法,这对我来说非常有效。但是想更新lib以获得更好的故障处理。
有人遇到过同样的问题吗?任何帮助表示赞赏!
答案 0 :(得分:0)
我刚试过以下代码,它对我来说很好用:
package TestPackage;
import java.net.URISyntaxException;
import java.security.InvalidKeyException;
import com.microsoft.windowsazure.services.core.storage.*;
import com.microsoft.windowsazure.services.table.client.*;
public class TestClass {
public static void main(String[] args) throws URISyntaxException, StorageException, InvalidKeyException {
CloudStorageAccount storageAccount =
CloudStorageAccount.parse("UseDevelopmentStorage=true");
// Create the table client.
CloudTableClient tableClient = storageAccount.createCloudTableClient();
// Create the table if it doesn't exist.
String tableName = "people";
CloudTable table = tableClient.getTableReference(tableName);
table.createIfNotExist();
//tableClient.createTableIfNotExists(tableName);
System.console().readLine();
}
}
以及下面的屏幕截图显示了我引用的所有库
答案 1 :(得分:0)
在小程序中提示它之后,我开始逐步将我的代码和libs从项目中复制到一个无效的小项目中。
我注意到当我将我的libs复制到新项目时它停止工作。然后我看到我的lib目录中也有旧的Azure 0.2.2 lib。这个不是在构建路径中所以它编译得很完美,除了制作一个新表之外到处都有效。
当我删除旧的azure lib时,一切都像魅力一样。
感谢您的帮助。