Java

라이브러리 추가 오류

si

simsool
질문 종료
30 XP
buildscript {
    repositories {
        jcenter()
        maven {
            name = "forge"
            url = "http://files.minecraftforge.net/maven"
        }
        mavenLocal()
        mavenCentral()
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
    }
}

repositories {
    mavenLocal()
    mavenCentral()
    jcenter()
}

apply plugin: 'net.minecraftforge.gradle.forge'
apply plugin: 'java'
apply plugin: 'eclipse'

version = "d"
group = "d"
archivesBaseName = "d"

compileJava {
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
}
compileJava.options.encoding = 'UTF-8'


tasks.withType(JavaExec) {
    jvmArgs('-Dfile.encoding=UTF-8')
}

minecraft {
    version = "1.8.9-11.15.1.2318-1.8.9"
    runDir = "run"
    mappings = "stable_20"
    
    makeObfSourceJar = false
}

dependencies {
    compile 'com.google.code.gson:gson:2.8.9'
    compile fileTree(dir: 'src/main/resources/libs/', includes: ['*.jar'])
}

processResources
{
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info'
        
        expand 'version':project.version, 'mcversion':project.minecraft.version
    }
        
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }
}

마인크래프트 포지기반의 모드를 제작중 오류입니다

  1. IDE(이클립스)에서 실행한 마인크래프트에서는 정상작동 합니다.

  2. .jar 파일인 모드로 추출할려고 컴파일(gradlew build)하면 오류없이 정상 빌드됩니다.

  3. 만들어진 모드를 가지고 실제 마인크래프트에서 해당 라이브러리를 사용한 이벤트를 사용시 다음과 같은 오류가 납니다
    ㄴ java.lang.NoClassDefFoundError: jaco/mp3/player/MP3Player

  4. 해당 라이브러리는 등록되어 있지않아 직접 다운로드를 받아 해당 경로를 가지고 추가하는 방식을 썼습니다.
    ㄴ compile fileTree(dir: 'libs', includes: ['*.jar'])

  5. 위의 등록코드를 적지 않을 시빌드중(gradlew build) 라이브러리를 사용한 코드들이 오류가 나기에 경로의 문제이거나 하진 않을겁니다.

  6. 인게임에서 오류는 라이브러리의 클래스를 로드할 수 없다는 것으로 라이브러리가 제대로 등록되지 않은 것 같습니다.

해결방법이 있을까요


불러오는 중...