[ PROMPT_NODE_23820 ]
claude-api
[ SKILL_DOCUMENTATION ]
# Claude API — Java
> **注意:** Java SDK 通过注解类支持 Claude API 和测试版工具使用。目前 Java 暂不支持智能体 SDK。
## 安装
Maven:
xml
com.anthropic
anthropic-java
2.17.0
Gradle:
groovy
implementation("com.anthropic:anthropic-java:2.17.0")
## 客户端初始化
java
import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
// 默认(从环境变量读取 ANTHROPIC_API_KEY)
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
// 显式指定 API 密钥
AnthropicClient client = AnthropicOkHttpClient.builder()
.apiKey("your-api-key")
.build();
---
## 基础消息请求
java
import com.anthropic.models.messages.MessageCreateParams;
import com.anthropic.models.messages.Message;
import com.anthropic.models.messages.Model;
MessageCreateParams params = MessageCreateParams.builder()
.model(Model.CLAUDE_OPUS_4_6)
.maxTokens(16000L)
.addUserMessage("What is the capital of France?")
.build();
Message response = client.messages().create(params);
response.content().stream()
.flatMap(block -> block.text().stream())
.forEach(textBlock -> System.out.println(textBlock.text()));
---
## 流式传输
java
import com.anthropic.core.http.StreamResponse;
import com.anthropic.models.messages.RawMessageStreamEvent;
MessageCreateParams params = MessageCreateParams.builder()
.model(Model.CLAUDE_OPUS_4_6)
.maxTokens(64000L)
.addUserMessage("Write a haiku")
.build();
try (StreamResponse streamResponse = client.messages().createStreaming(params)) {
streamResponse.stream()
.flatMap(event -> event.contentBlockDelta().stream())
.flatMap(deltaEvent -> deltaEvent.delta().text().stream())
.forEach(textDelta -> System.out.print(textDelta.text()));
}
---
## 思考 (Thinking)
**自适应思考是 Claude 4.6+ 模型的推荐模式。** Claude 会动态决定何时思考以及思考多少。构建器有一个直接的 `.thinking(ThinkingConfigAdaptive)` 重载 — 无需手动包装联合类型。
java
import com.anthropic.models.messages.ContentBlock;
import com.anthropic.models.messages.MessageCreateParams;
import com.anthropic.models.messages.Model;
import com.anthropic.models.messages.ThinkingConfigAdaptive;
MessageCreateParams params = MessageCreatePar