Зависимости Gradle не устанавливаются при сборке в .jar | Майнкрафт Фордж 1.16.5JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Зависимости Gradle не устанавливаются при сборке в .jar | Майнкрафт Фордж 1.16.5

Сообщение Anonymous »

Я загружаю MDK с https://files.minecraftforge.net/net/mi ... .16.5.html
После создания моего мода forge в .jar и запуска Minecraft выдает ошибку что зависимость не найдена.
В журнале майнкрафта написано следующее:

Код: Выделить всё

java.lang.NoClassDefFoundError: org/json/simple/parser/JSONParser
at com.example.examplemod.JsonUtil.getConfig(JsonUtil.java:14)
В файле build.gradle у меня есть следующие зависимости:

Код: Выделить всё

dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
implementation 'com.googlecode.json-simple:json-simple:1.1.1'
}
Но если я запускаю Minecraft с использованием runClient (из Intellij IDE), зависимости успешно устанавливаются, и мой мод работает.
Полно build.gradlew содержимое файла:

Код: Выделить всё

plugins {
id 'eclipse'
id 'idea'
id 'maven-publish'
id 'net.minecraftforge.gradle' version '[6.0,6.2)'
}

version = mod_version
group = mod_group_id

base {
archivesName = mod_id
}

// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
java.toolchain.languageVersion = JavaLanguageVersion.of(8)

println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
minecraft {

mappings channel: mapping_channel, version: mapping_version

copyIdeResources = true

runs {
// applies to all the run configs below
configureEach {
workingDirectory project.file('run')

property 'forge.logging.markers', 'REGISTRIES'

property 'forge.logging.console.level', 'debug'

mods {
"${mod_id}"  {
source sourceSets.main
}
}
}

client {
// this block needs to be here for runClient to exist
}

server {
args '--nogui'
}

data {
// example of overriding the workingDirectory set in configureEach above
workingDirectory project.file('run-data')

// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
}
}
}

// Include resources generated by data generators.
sourceSets.main.resources { srcDir 'src/generated/resources' }

repositories {

}

dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
implementation 'com.googlecode.json-simple:json-simple:1.1.1'
}

tasks.named('processResources', ProcessResources).configure {
var replaceProperties = [
minecraft_version: minecraft_version, minecraft_version_range: minecraft_version_range,
forge_version: forge_version, forge_version_range: forge_version_range,
loader_version_range: loader_version_range,
mod_id: mod_id, mod_name: mod_name, mod_license: mod_license, mod_version: mod_version,
mod_authors: mod_authors, mod_description: mod_description,
]
inputs.properties replaceProperties

filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) {
expand replaceProperties + [project: project]
}
}

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")
])
}

finalizedBy 'reobfJar'
}

//tasks.named('publish').configure {
//    dependsOn 'reobfJar'
//}

publishing {
publications {
register('mavenJava', MavenPublication) {
artifact jar
}
}
repositories {
maven {
url "file://${project.projectDir}/mcmodsrepo"
}
}
}

tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
}
Я попробовал использовать теневой плагин для Gradlew, но не понял, как его правильно установить.
Также я попробовал изменить зависимости следующим образом: (Вместо реализации напишите minecraftLibrary)

Код: Выделить всё

dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
minecraftLibrary 'com.googlecode.json-simple:json-simple:1.1.1'
}
Но это не работает.
И я попробовал написать
группу реализации: 'com.googlecode.json-simple ', имя: 'json-simple', версия: '1.1.1'
Но это не работает.

Подробнее здесь: https://stackoverflow.com/questions/785 ... ft-forge-1
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Зависимости Gradle не устанавливаются при сборке в .jar | Майнкрафт Фордж 1.16.5
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Моддинг Майнкрафт Фордж 1.18
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • В этой сборке использовались устаревшие функции Gradle, что делало ее несовместимой с Gradle 9.0. в сборке студии Androi
    Anonymous » » в форуме Android
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous
  • Как устанавливаются ярлыки запуска AOSP -пакета по умолчанию в сборке ПЗУ?
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Фордж 1.11.2 не устанавливается
    Anonymous » » в форуме JAVA
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»