JavaRush /Java Blog /Random-KO /JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜
Zheleznyak Maxim
๋ ˆ๋ฒจ 47
Moscow

JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
๊ฐ€์žฅ ์งง์€ ์ง€์นจ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” "Hi Amigo!"๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. HiAmigo.txt ํŒŒ์ผ์— 100๋ฒˆ.
public class Main {
    public static void main(String[] args) throws IOException {

        File file = new File("C:\\temp\\HiAmigo.txt");
        FileWriter fileWriter = new FileWriter(file);

        for (int i = 0; i < 100 ; i++) {
            fileWriter.write("Hi Amigo! \n");
        }
        fileWriter.close();
      }
}
์ด ๋‹จ๊ณ„์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค!) JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 1 ํŒŒ์ผ -> ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ -> ์•„ํ‹ฐํŒฉํŠธ -> + JAR -> ์ข…์†์„ฑ์ด ์žˆ๋Š” ๋ชจ๋“ˆ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 2 Main.class์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 3 ํ™•์ธ์„ ํด๋ฆญํ•˜๊ณ  ์•„ํ‹ฐํŒฉํŠธ ๋นŒ๋“œ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. - > ์ž‘์—… - > ๋นŒ๋“œ JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 4 ์•„ํ‹ฐํŒฉํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 5 ํ…Œ์ŠคํŠธ ํŒŒ์ผ โ€œC:\\temp\\HiAmigo.txtโ€๋ฅผ ์‚ญ์ œํ•˜๊ณ  JAR์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ์ด ๋‹ค์‹œ ๋‚˜ํƒ€๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜ํƒ€๋‚˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค. ๊ณ„์† ์ง„ํ–‰ํ•ฉ์‹œ๋‹ค. https://launch4j.sourceforge.net/ ์‚ฌ์ดํŠธ์—์„œ ๋„๊ตฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”(๋ฒ„์ „ 3.14๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด์œ ๋Š” ๋‚˜์ค‘์— ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค). ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. JAR๊ณผ ์™„์„ฑ๋œ .exe๋ฅผ ์ €์žฅํ•  ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋ฉด JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 6 ์ด์ œ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ๋ถ€๋ถ„์ด ๋‚˜์˜ต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์‹œ์Šคํ…œ์— JRE๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๊ณ  ์ด๋ฅผ ์„ค์น˜ํ•  ๋ฐฉ๋ฒ•์ด ์—†๋Š” ์ƒํ™ฉ์„ ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค. ์ด๋Š” ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์ž์ฃผ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์ž์œจ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋ณ„๋„์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. OurApp์ด๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€์—๋Š” JRE ํด๋”๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. JRE๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ (์ œ ์˜ˆ์—์„œ๋Š” jre-8u361-windows-i586๋กœ ์ง€์ •) ์–ด๋”˜๊ฐ€์— ์„ค์น˜ํ•˜๊ณ (๋งŒ์•ฝ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ์•„์นด์ด๋ธŒ์ธ ๊ฒฝ์šฐ ์••์ถ•์„ ํ‘ผ ํ›„) ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ํŒŒ์ผ์„ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์„ \OurApp\JRE\์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 7 Launch4j์—์„œ JRE ํƒญ์œผ๋กœ ์ด๋™ํ•˜๊ณ  Bundled JRE paths ํ•„๋“œ์—์„œ JRE ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 8 ๊ธฐ์–ด๋ฅผ ํด๋ฆญํ•˜๊ณ  ์ €์žฅํ•  ํŒŒ์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. file.xml๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 9 ์ €์žฅ์„ ํด๋ฆญํ•˜๋ฉด exe๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 10 exe๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ JRE ํด๋” ์˜†์— ๋ฐฐ์น˜ํ•˜๊ณ  JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 11 ํ…Œ์ŠคํŠธ C:\temp\HiAmigo.txt๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. exe๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ƒˆ๋กœ์šด exe๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๋Š”์ง€ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ๋‹ค์•ผ. ์ด์ œ OurApp ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์–ด๋””๋“  ์ „์†กํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ exe๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ค‘์š”: ํด๋”์˜ JRE ๋ฒ„์ „์€ ์•„ํ‹ฐํŒฉํŠธ๊ฐ€ ๋นŒ๋“œ๋œ ๋ฒ„์ „๋ณด๋‹ค ๋‚ฎ์•„์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ํ•„๋“œ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. JAR์„ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ(.exe) ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ - 12 ์ œ ๊ฒฝ์šฐ์—๋Š” x86 ํ”Œ๋žซํผ์— ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๊ณ  ๋ž˜ํผ ๋ฒ„์ „ 3.14๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ž˜ํผ ๋ฒ„์ „ 3.14๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋Œ€์ƒ ์•„ํ‚คํ…์ฒ˜ ์œ ํ˜•์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ด€์‹ฌ์„ ๊ฐ€์ ธ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚˜์˜ ์ฒซ ๋ฒˆ์งธ ๊ต์œก ๊ธฐ์‚ฌ์ด๋ฏ€๋กœ ์—„๊ฒฉํ•˜๊ฒŒ ํŒ๋‹จํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ๋ชจ๋‘๋ฅผ ์œ„ํ•œ ํ‰ํ™”!
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION