Forge 1.19.2 - Подключение сторонних библиотек

Версия Minecraft
1.19.2
API
Forge
Здравствуйте, разрабатываю мод на воспроизведение катсцен и мне потребовалась библиотека 'org.bytedeco:javacv-platform:1.5.9' для разбития видео на кадры и звук и тут я посыпался... Пытаюсь подключить данную библиотеку в финальную версию jar файла, но все четно. Подскажите как подключить библиотеку из репозитория в проект. Сборка на gradle.
 
Решение
CreateProcess error=206, Имя файла или его расширение имеет слишком большую длину
Перерыл весь инет, но никакой из способов не помог. Работаю в intellij на windows 10.
Среда и ОС ни на что не влияют, а решение проблемы простое. У меня например такое
Gradle (Groovy):
dependencies {
    minecraft "net.minecraftforge:forge:1.12.2-14.23.5.2859"
    ...

    implementation fileTree("lib") //<- тут твои локалные зависимости, которые нужно
                                  // включить. с не-локальными - почти так же
                                 // + можно напрямую с мавен взять артефакт и поставить
                                // локально, чтобы ,,если что,, среда не здохла
}
jar {
    ...
    from {...
Использовал shadow, но возникла ошибка:
CreateProcess error=206, Имя файла или его расширение имеет слишком большую длину
Перерыл весь инет, но никакой из способов не помог. Работаю в intellij на windows 10.
 

Вложения

  • Скриншот 18.12.23_18.04.42.png
    Скриншот 18.12.23_18.04.42.png
    140.9 KB · Просмотры: 8
440
42
112
CreateProcess error=206, Имя файла или его расширение имеет слишком большую длину
Перерыл весь инет, но никакой из способов не помог. Работаю в intellij на windows 10.
Среда и ОС ни на что не влияют, а решение проблемы простое. У меня например такое
Gradle (Groovy):
dependencies {
    minecraft "net.minecraftforge:forge:1.12.2-14.23.5.2859"
    ...

    implementation fileTree("lib") //<- тут твои локалные зависимости, которые нужно
                                  // включить. с не-локальными - почти так же
                                 // + можно напрямую с мавен взять артефакт и поставить
                                // локально, чтобы ,,если что,, среда не здохла
}
jar {
    ...
    from {
        configurations.runtimeClasspath.collect {
            if(it.name.equalsIgnoreCase("zstd-jni-1.5.5-9-universal.jar")) {
                zipTree(it) //библиотека, которую нужно включить в мод ^^
                           // она у меня находится в "lib"
            }
        }
    }
}
 
Благодарю за ответ. Работает.

Решение:

Java:
dependencies {
    minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"

    implementation 'org.bytedeco.javacpp-presets:ffmpeg-platform:4.1-1.4.4'
    implementation 'org.bytedeco.javacpp-presets:ffmpeg:4.1-1.4.4'
    implementation 'org.bytedeco:javacv:1.4.4'
}

tasks.named('jar', Jar).configure {
    manifest {
        attributes([
                "Specification-Title"     : mod_id,
                "Specification-Vendor"    : mod_authors,
                "Specification-Version"   : "1", // We are version 1 of ourselves
                "Implementation-Title"    : project.name,
                "Implementation-Version"  : project.jar.archiveVersion,
                "Implementation-Vendor"   : mod_authors,
                "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
        ])
    }
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
    from {
        ArrayList<String> names = new ArrayList<String>()
        names.addAll(Arrays.asList(
                "ffmpeg-platform-4.1-1.4.4.jar",
                "javacv-1.4.4.jar",
                "javacpp-1.4.4.jar",
                "ffmpeg-4.1-1.4.4.jar",
                "ffmpeg-4.1-1.4.4-linux-x86_64.jar",
                "ffmpeg-4.1-1.4.4-linux-armhf.jar",
                "ffmpeg-4.1-1.4.4-linux-ppc64le.jar",
                "ffmpeg-4.1-1.4.4-macosx-x86_64.jar",
                "ffmpeg-4.1-1.4.4-windows-x86_64.jar",
        ))
        configurations.runtimeClasspath.collect {
            if (names.contains(it.name)) {
                it.isDirectory() ? it : zipTree(it)
            }
        }
    }
    finalizedBy 'reobfJar'
}
 
Последнее редактирование:
Сверху