我可以 select 我在 maven 依赖项中使用的唯一包来在 eclipse 中导出可运行的 jar 吗?
Can i select the only packages I used within my maven dependecies to export a runnable jar in eclipse?
我在 Java 应用程序中使用 Javacpp。在我的 pom 中我有:
org.bytedeco
javacv平台
1.5.1
我在项目中唯一的导入与 ffmpeg 和 opencv 相关。但是,当我创建可运行的 Jar 时,它很大(数百兆字节),因为它有很多来自 javacv 平台附带的其他包的 jar,对我来说没用(我可以在 Maven 依赖项中看到它们)。无论如何要删除我从未在这个依赖项中使用过的包?因为我可以在我创建的可运行 jar 中看到所有这些。
是的,您可以只排除不需要的内容,如下所示:
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>${javacv-platform.version}</version>
<exclusions>
<exclusion>
<groupId>javacv-platform</groupId>
<artifactId>flycapture-platform</artifactId>
</exclusion>
<exclusion>
<groupId>javacv-platform</groupId>
<artifactId>libfreenect-platform</artifactId>
</exclusion>
</exclusions>
</dependency>
但是“javacv-platform”的 JAR 中实际上没有代码,因此您可能只想包含您想要的代码(我假设只是“javacv”、“opencv-platform”和“ffmpeg” -平台").
我在 Java 应用程序中使用 Javacpp。在我的 pom 中我有:
org.bytedeco javacv平台 1.5.1我在项目中唯一的导入与 ffmpeg 和 opencv 相关。但是,当我创建可运行的 Jar 时,它很大(数百兆字节),因为它有很多来自 javacv 平台附带的其他包的 jar,对我来说没用(我可以在 Maven 依赖项中看到它们)。无论如何要删除我从未在这个依赖项中使用过的包?因为我可以在我创建的可运行 jar 中看到所有这些。
是的,您可以只排除不需要的内容,如下所示:
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>${javacv-platform.version}</version>
<exclusions>
<exclusion>
<groupId>javacv-platform</groupId>
<artifactId>flycapture-platform</artifactId>
</exclusion>
<exclusion>
<groupId>javacv-platform</groupId>
<artifactId>libfreenect-platform</artifactId>
</exclusion>
</exclusions>
</dependency>
但是“javacv-platform”的 JAR 中实际上没有代码,因此您可能只想包含您想要的代码(我假设只是“javacv”、“opencv-platform”和“ffmpeg” -平台").