개인 자료란 (JE)

  서버 커뮤니티

Profile 빛나는토마토 대표칭호 없음

Tomato105 4a7a3e2f6add4cc7bbe412b198b15cbd

Profile

질문하기 Java

JAR 파일에 plugin.yml이 포함이 안 되는 것 같아요

2023.02.17 조회 수 213 추천 수 0
이해도 중급자 
게임버전 (JE) 1.19.3 
게임버전 (BE) 관련없음 

제가 Intellij IDEA에서 새로운 플러그인을 만들고, JAR파일로 추출을 했는데

추출 때에 plugin.yml이 포함이 안 된건지 서버가 제 플러그인에서 plugin.yml을 찾을 수가 없다고 하네요.

파일 구조:


프로젝트 구조> Artifacts > <Artifact> > Output Layout:

이렇게 나와있네요

도와주세요!





8개의 댓글

거너아나
2023.02.17

onEnable 구문에서 this.saveDefaultConfig(); 적으신거 맞으시죠?

빛나는토마토
2023.02.17
@거너아나

코드를 써 넣었지만 그대로 plugin.yml이 인식되지 않네요...

qsef1256
2023.02.17

굳이 IJ 기본 빌드(Ant) 를 사용하고 싶다면 거기다가 resource도 추가하면 돼요. 근데 Maven이나 Gradle 둘 중 하나 골라서 Add Framework Support 하세요. 실무에서 아무도 기본 빌드 도구 안 써요.

@qsef1256

제가 알기론 전 Gradle 쓰는데...
위 사진처럼 표시되면 Gradle 쓰는 거 아닌가요?


qsef1256
2023.02.17
@빛나는토마토

build.gradle 파일을 보여주셔야죠. 거기는 기본 빌드 쓰는 구역이에요.

@qsef1256

build.gradle입니다! 자바는 버전이 17이고요,
Gradle > Tasks > Jar 로 만들면 제가 쓰고 있던 Jackson-module-Kotlin 때문에NoClassDefFoundError가 나네요

qsef1256
2023.02.18
@빛나는토마토

gradle fat jar 를 검색해보세요

빛나는토마토
2023.02.18
@qsef1256

검색후 build.gradle에

jar {
    manifest {
        attributes 'Main-Class': 'tomatoplugin.tomatoplugin.TomatoPlugin'
    }

    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }

    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

추가하여 해결했습니다. 감사합니다!