如何在gradlew 时指定jvm参数?

从github下了一个项目源码,需要用到openCV, 按项目中介绍的编译操作:
./gradlew clean build

结果提示:

21:01:32.317 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\service\classifier\ObjectDetector.java:23: 错误: 程序包org.opencv.core不存在
21:01:32.318 [ERROR] [system.err] import org.opencv.core.Mat;
21:01:32.318 [ERROR] [system.err]                       ^
21:01:32.323 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\service\classifier\ObjectDetector.java:72: 错误: 找不到符号
21:01:32.323 [ERROR] [system.err]     public Map<String, Object> detect(final Mat img) {
21:01:32.323 [ERROR] [system.err]                                             ^
21:01:32.323 [ERROR] [system.err]   符号:   类 Mat
21:01:32.324 [ERROR] [system.err]   位置: 类 ObjectDetector
21:01:32.343 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\util\ImageUtil.java:6: 错误: 程序包org.opencv.core不存在
21:01:32.343 [ERROR] [system.err] import org.opencv.core.Mat;
21:01:32.343 [ERROR] [system.err]                       ^
21:01:32.348 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\util\ImageUtil.java:94: 错误: 找不到符号
21:01:32.348 [ERROR] [system.err]     public static BufferedImage mat2BufferedImage(Mat matrix) {
21:01:32.348 [ERROR] [system.err]                                                   ^
21:01:32.348 [ERROR] [system.err]   符号:   类 Mat
21:01:32.348 [ERROR] [system.err]   位置: 类 ImageUtil
21:01:32.351 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:5: 错误: 程序包org.opencv.core不存在
21:01:32.351 [ERROR] [system.err] import org.opencv.core.Core;
21:01:32.351 [ERROR] [system.err]                       ^
21:01:32.351 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:6: 错误: 程序包org.opencv.core不存在
21:01:32.351 [ERROR] [system.err] import org.opencv.core.CvType;
21:01:32.351 [ERROR] [system.err]                       ^
21:01:32.351 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:7: 错误: 程序包org.opencv.core不存在
21:01:32.351 [ERROR] [system.err] import org.opencv.core.Mat;
21:01:32.352 [ERROR] [system.err]                       ^
21:01:32.352 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:8: 错误: 程序包org.opencv.videoio不存在
21:01:32.352 [ERROR] [system.err] import org.opencv.videoio.VideoCapture;
21:01:32.352 [ERROR] [system.err]                          ^
21:01:32.525 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:15: 错误: 找不到符号
21:01:32.525 [ERROR] [system.err]         System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
21:01:32.525 [ERROR] [system.err]                            ^
21:01:32.525 [ERROR] [system.err]   符号:   变量 Core
21:01:32.525 [ERROR] [system.err]   位置: 类 YoloRunnable
21:01:32.526 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:20: 错误: 找不到符号
21:01:32.526 [ERROR] [system.err]         Mat frame = new Mat();
21:01:32.526 [ERROR] [system.err]         ^
21:01:32.526 [ERROR] [system.err]   符号:   类 Mat
21:01:32.526 [ERROR] [system.err]   位置: 类 YoloRunnable
21:01:32.526 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:20: 错误: 找不到符号
21:01:32.526 [ERROR] [system.err]         Mat frame = new Mat();
21:01:32.526 [ERROR] [system.err]                         ^
21:01:32.526 [ERROR] [system.err]   符号:   类 Mat
21:01:32.526 [ERROR] [system.err]   位置: 类 YoloRunnable
21:01:32.526 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:21: 错误: 找不到符号
21:01:32.527 [ERROR] [system.err]         VideoCapture camera = new VideoCapture("/home/ldlopes/Videos/elton.mp4");
21:01:32.527 [ERROR] [system.err]         ^
21:01:32.527 [ERROR] [system.err]   符号:   类 VideoCapture
21:01:32.527 [ERROR] [system.err]   位置: 类 YoloRunnable
21:01:32.527 [ERROR] [system.err] D:\yolo-java\src\main\java\br\edu\fei\yolo\YoloRunnable.java:21: 错误: 找不到符号
21:01:32.527 [ERROR] [system.err]         VideoCapture camera = new VideoCapture("/home/ldlopes/Videos/elton.mp4");
21:01:32.527 [ERROR] [system.err]                                   ^
21:01:32.527 [ERROR] [system.err]   符号:   类 VideoCapture
21:01:32.527 [ERROR] [system.err]   位置: 类 YoloRunnable
21:01:32.538 [ERROR] [system.err] 注: 某些输入文件使用了未经检查或不安全的操作。
21:01:32.538 [ERROR] [system.err] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
21:01:32.538 [ERROR] [system.err] 13 个错误
阅读 431
avatarAI BotBETA

要在 gradlew 命令中指定 JVM 参数,你可以使用 GRADLE_OPTS 环境变量。例如,如果你想为 JVM 设置最大堆内存为 2GB,你可以这样运行命令:

export GRADLE_OPTS="-Xmx2g"
./gradlew clean build

对于你提到的关于 org.opencv.core 的错误,这通常意味着 OpenCV 库没有被正确地包含在你的项目中。你需要确保 OpenCV 的 Java 绑定已经被正确地安装和配置在你的项目中。这通常涉及到在你的 build.gradle 文件中添加 OpenCV 的依赖,并且确保 OpenCV 的 jar 文件和 native 库文件被正确地放在你的项目结构中。

具体的步骤可能会根据你的项目配置和使用的 OpenCV 版本有所不同。你可能需要查看 OpenCV 的官方文档或你的项目的文档来获取更具体的指导。

注意:确保你使用的 OpenCV 版本与你的项目兼容,并且你已经按照 OpenCV 的安装指南正确地设置了环境。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏