์ง๋๋ฒ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ๊ฒฐ์ ํ๋๋ ์ํด์ ๋น๋์ ์คํจํ์์ฃ .
์ค๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํ๊ณ jar ๋น๋๋ฅผ ํ๋ ๊ฒ๊น์ง ๋์ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
์ผ๋จ, ์ง๊ธ ์ฌ์ฉํ๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ JInput์ gradle dependency์ ์ถ๊ฐํด์ค๋๋ค.
maven central repository์ ๋คํํ๋ JInput์ด ์๋ค์! ๋ก์ปฌ์ ์ถ๊ฐํ๊ฑฐ๋ ํ ํ์ ์์ ๊ฒ ๊ฐ์์
Maven Central Repository Search
search.maven.org
์ ๊ธธ ๋ค์ด๊ฐ๋ฉด gradle์ ์ด๋ป๊ฒ ์ฐ๋ผ๊ณ ๊น์ง ๋์ต๋๋ค.
๋๋ฌด๋ ์น์ ํ ๊ฒ.....
์ผ๋จ ์ ๋ด์ฉ์ dependencies์ ์ถ๊ฐํ๋ฉด ์๋ ๊ฒ ๋ฉ๋๋ค.
plugins {
// Apply the application plugin to add support for building a CLI application in Java.
id 'application'
}
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
dependencies {
implementation 'net.java.jinput:jinput:2.0.9'
// Use JUnit test framework.
testImplementation 'junit:junit:4.13.2'
// This dependency is used by the application.
implementation 'com.google.guava:guava:30.1-jre'
}
application {
// Define the main class for the application.
mainClass = 'controller_input_test.ControllerInputTest'
}
๊ทธ ๋ค์ gradle jar๋ฅผ ํ๋ฉด ๋น๋๋ ์ ์์ ์ผ๋ก ๋์!
ํ์ง๋ง ์ด ์น๊ตฌ๋ exe ํ์ผ๋ก ๋ง๋ค์ด์ ๋ฐฐํฌํ๋๊ฒ ๋ชฉ์ ์ด๊ธฐ ๋๋ฌธ์
ํน์ ๊ทธ๋ฐ ์ผ๊น์ง ํด์ฃผ๋ ์น๊ตฌ๊ฐ ์์ง ์์๊น ํ๋ ๊ธฐ๋๋ฅผ ๊ฐ์ง๊ณ ๊ตฌ๊ธ๋ง์ ํด๋ณด๋๋ก ํฉ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ธ์์๋ ์ฐธ ์ข์ ์ฌ๋๋ค์ด ๋ง๋ค๋ ์ฌ์ค์ ์๊ฒ ๋์์ต๋๋ค.
GitHub - TheBoegl/gradle-launch4j: A gradle-plugin to create windows executables with launch4j
A gradle-plugin to create windows executables with launch4j - GitHub - TheBoegl/gradle-launch4j: A gradle-plugin to create windows executables with launch4j
github.com
launch4j๋ฅผ ์ฌ์ฉํ๋ฉด .exe๋ก ๋ง๋ค์ ์๋ค๊ณ ํ๋ค์! ์ผํธ!
launch4j {
outfile = 'ControllerInputTest.exe'
mainClassName = 'controller_input_test.ControllerInputTest'
bundledJrePath = "${projectDir}/../jre"
bundledJre64Bit = 'true'
}
build.gradle ํ์ผ์ ์ ๋ด์ฉ์ ์ถ๊ฐํด์ฃผ์์ต๋๋ค.
JRE๋ฅผ ํฌํจ์ํค์ง ์๊ณ ๋น๋ํ๋ฉด ์คํํ ๋ JRE๊ฐ ํ์ํ๋ค๋ ๋ฌธ๊ตฌ๊ฐ ๋ ์
ํ๋ก์ ํธ ๋ด์ jre ํด๋ ์์ฒด๋ฅผ ๋ฃ์ด์ฃผ๊ณ ์ด ๊ฒฝ๋ก๋ฅผ bundledJrePath์ ๋ฃ์ด์ฃผ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์๋ ๊ฒ ControllerInputTest.exe ํ์ผ์ด ์๊ธฐ๊ณ
์ด๊ฑธ ์คํํ๋ฉด!
์ด๋ ๊ฒ ์ ๊ฐ ๋ง๋ค์ด๋์๋ GUI ํ๋ก์ ํธ๊ฐ ๋น๋๋ค!
ํ์ง๋ง.... ์๋ ์ด๊ฒ ์ ์์ ์ผ๋ก ๋์ํ๋ฉด
๋งจ ์ผ์ชฝ์ ํ์ฌ ์ฐ๊ฒฐ๋์ด์๋ controller์ ๋ชฉ๋ก์ด ๋ชจ๋ ๋ ์ผํ๋๋ฐ.... ์ด๊ฒ ์๋จ๋ค์.
๊ทธ๋ ๋ค๋ฉด ๋ญ๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๋๋ก ํฌํจํ์ง ๋ชปํ๋ ๊ฒ ๊ฐ์๋ฐ...๐ฅ๐ฅ
์ค๋์ ์๊ฐ์ด ๋ฆ์์ผ๋ ์ฌ๊ธฐ๊น์ง๋ง ํด๋ณด๊ณ ๋ค์์ ๋ง์ ํด๋ด์ผ๊ฒ ์ด์.
๊ทธ๋๋ exe ํ์ผ๊น์ง ์๊ฐ๋ณด๋ค ์ฝ๊ฒ ๋ง๋ค์์ผ๋ ๋ง์กฑํฉ๋๋ค! ์ข๋ง ๋ ํ๋ฉด ์ง์ง ๋ ๊ฒ ๊ฐ์์๐
์ ๊ฒ ๋๋ฉด ์ด์ readme๋ wiki ์์ ์ ํด์ผ๊ฒ ์ด์ ~.~ ์ ๋ฉ๋๋ค
'๐พ.knwldg' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
docker-ELK, Filebeat, ๊ทธ๋ฆฌ๊ณ docker compose - #3 (2) | 2021.08.12 |
---|---|
Java Project ๋ฏ์ด ๊ณ ์น๊ธฐ - #3 (2) | 2021.08.02 |
docker-ELK, Filebeat, ๊ทธ๋ฆฌ๊ณ docker compose - #2 (0) | 2021.07.26 |
docker-ELK, Filebeat, ๊ทธ๋ฆฌ๊ณ docker compose - #1 (0) | 2021.07.24 |
Java Project ๋ฏ์ด ๊ณ ์น๊ธฐ - #1 (0) | 2021.07.20 |