# exiftool-test

Java + Maven 封装 `exiftool` 命令,跨平台(Windows 10 / Linux)运行。exiftool 可执行文件按平台捆绑进资源目录,运行时自动选择。

## 放置 exiftool

运行前把对应平台的 exiftool 放入(仅需当前运行平台那个):

- Windows: `src/main/resources/exiftool/windows/exiftool.exe` — 见该目录 `README.txt`
- Linux: `src/main/resources/exiftool/linux/exiftool` + `lib/` — 见该目录 `README.txt`

## 构建与测试

```bash
mvn clean test
```

纯逻辑单测始终运行;真实调用 exiftool 的集成测试在当前平台无可用二进制时自动跳过。

## 运行 Demo

```bash
mvn -q compile exec:java -Dexec.args="333.jpg contains-synthetic-performer"
```

等价于执行:

```
exiftool -overwrite_original -XMP-dc:Subject+="contains-synthetic-performer" 333.jpg
```

## 代码用法

```java
ExifTool exiftool = new ExifTool();

// 便捷方法
ExifToolResult r = exiftool.addSubject("333.jpg", "contains-synthetic-performer");

// 通用执行任意参数
ExifToolResult v = exiftool.execute("-ver");
if (!v.isSuccess()) System.err.println(v.stderr());
```
