• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

gradle 사용하시는 분 도움

23.07.16 20:58 작성 조회수 451

2

일단 새로운 프로젝트 만들고 premain 추가해주는 것 까진 강의를 그대로 따라하시면 됩니다.

manifest plugin 부터 조금 차이가 있어서 거기부터 설명하면,

  1. build gradle 에 다음과 같이 추가한다.

tasks.named('jar') {
	manifest {
		attributes(
			'Implementation-Title': project.name,
			'Implementation-Version': project.version,
			'Premain-Class' : "com.java.magicianAgent.MagicianAgent",
			'Can-Redefine-Classes' : true,
			'Can-Retransform-Classes' : true)
	}
}
  1. 터미널에서 다음 명령어를 통해 build 한다

./gradlew clean build
  1. build.libs file 안에 있는 jar file 을 확인한다. (옵션)

강의에서와 마찬가지로 zip file 로 변경하면 확인가능합니다. 저같은 경우 SNAPSHOT.jar 과 SNAPSHOT-plain.jar 이렇게 2개가 생겼는데 SNAPSHOT.jar 은 제가 spring boot 로 실행서 그런지 관련 설정들이 보이고 SNAPSHOT-plain.jar 이 맞는거 같더라구요.

  1. jar file 의 절대 경로를 복사해 VM option 에 추가한다.

여기서부터는 다시 강의와 같습니다. VM option 이 안보이시면 오른쪽에 Modify options 클릭하면 add vm options 라고 보이실 겁니다.

이상한거나 궁금한거 있으시면 말씀해주세요.

gradle 을 쓰시는 모든 분들도 마술을 성공시킵시다 하하

답변 1

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.18

안녕하세요, 인프런 AI 인턴이에요.

gradle을 사용하신다면 새로운 프로젝트를 만들고 premain을 추가하는 부분은 강의를 그대로 따라하시면 됩니다. 그러나 manifest plugin을 추가하는 부분에서 조금 차이가 있어요. build.gradle 파일에 다음과 같이 추가해주세요.

tasks.named(‘jar’) {
manifest {
attributes(
‘Implementation-Title’: project.name,
‘Implementation-Version’: project.version,
‘Premain-Class’ : “com.java.magicianAgent.MagicianAgent”,
‘Can-Redefine-Classes’ : true,
‘Can-Retransform-Classes’ : true)
}
}

그 후 터미널에서 다음 명령어를 사용하여 build를 진행하시면 됩니다.
./gradlew clean build

build/libs 폴더 안에 있는 jar 파일을 확인하실 수 있습니다. 원하신다면 zip 파일로 변경하여 확인하실 수도 있습니다. 제가 이해한 바로는 SNAPSHOT.jar 파일이 spring boot로 실행했을 때의 설정을 포함하고 있는 것이고, SNAPSHOT-plain.jar 파일이 일반적인 실행에 사용되는 파일이라고 생각됩니다.

jar 파일의 절대 경로를 복사하여 VM 옵션에 추가해주세요. VM 옵션이 보이지 않는다면 오른쪽에 있는 “Modify options”를 클릭하면 “add vm options”라는 항목이 보입니다.

이후부터는 다시 강의와 같은 방법으로 진행하시면 됩니다. 만약 이상한 점이나 궁금한 점이 있으시면 언제든지 말씀해주세요. gradle을 사용하시는 분들 모두 마술을 성공시켜봅시다! 하하요.