{"componentChunkName":"component---src-templates-post-template-jsx","path":"/history/posts/2022-08-07--001","result":{"data":{"site":{"siteMetadata":{"title":"Blog by Eunyoung","subtitle":"작업 기록 블로그","copyright":"© All rights reserved.","author":{"name":"EunYoung","twitter":"#"},"disqusShortname":"","url":"https://ssongey.github.io"}},"markdownRemark":{"id":"d7f5cc38-599e-5607-8f49-e966d92ae169","html":"<br/>\n<p>최근에 빌드를 하면 jar 파일이 두개가 생성이 되는걸 확인하게 되었고, 해당 부분이 궁금해서 찾아봤다.</p>\n<h2>✔️ 왜 2개가 생성이 될까?</h2>\n<ul>\n<li>springboot 2.5 이후 부터는 빌드시 jar 파일이 2개 생긴다.</li>\n<li>springboot 2.4.11 document 를 보면, <code class=\"language-text\">jar or war tasks are disabled</code> 이기 때문에 jar task 가 기본적으로 스킵이다.</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/d21e7b2a7e5ef1864222968d7c74880a/2376a/001-01.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 24.583333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAABQElEQVQY002QS0sCURiG558YbpIEIy9T05iipVZGo2gqKeGmiJJw0VIKugdWRP9QUaGNOs5FNHg6x0X0wMs53+I85+VT+v0+vV7vL9+DAa5lYU9MbNtG8v75RbFa57RxzcnZFZX6OblSjXy5hlE8Jpsrkc7meXxpo3S7XabT6eKx67o4kwm2OcYaj5mIu6R1c0swHObAMMge5ohu6miREFvaBsHVAH7/CkseD5eXFyjD4RBLyKTQEs0sy8ZxHFzxiZwlT8+vqJqOUa5yVK6QSiRIRHUy4lwPBQkEAiz7fDSbTZROp4MjZLKNFJimuRDOZrNFY8nd/QNrYZX9QoVcvoCuR1EjEeKxGKqqioZ+vF4vjUYDZTwa8TOfM/8XKZORq5C03z5I7qQxhEwms7tHKpUiub1NTEjj8TiaptFqtfgFZV0WhvXP6J8AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"001 01\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/d21e7b2a7e5ef1864222968d7c74880a/d9199/001-01.png\"\n        srcset=\"/devHistoryBlog/static/d21e7b2a7e5ef1864222968d7c74880a/8ff5a/001-01.png 240w,\n/devHistoryBlog/static/d21e7b2a7e5ef1864222968d7c74880a/e85cb/001-01.png 480w,\n/devHistoryBlog/static/d21e7b2a7e5ef1864222968d7c74880a/d9199/001-01.png 960w,\n/devHistoryBlog/static/d21e7b2a7e5ef1864222968d7c74880a/07a9c/001-01.png 1440w,\n/devHistoryBlog/static/d21e7b2a7e5ef1864222968d7c74880a/29114/001-01.png 1920w,\n/devHistoryBlog/static/d21e7b2a7e5ef1864222968d7c74880a/2376a/001-01.png 3138w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>springboot 2.5.0 이후부터는 bootJar, bootWar 수행시에 <code class=\"language-text\">jar or war task are configured to use plain</code> 이기 때문에 plain 이라는 이름으로 jar 파일이 한개 더 생긴다.</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/7ca391d0d671f90674a0ec6eca5b71d2/30a3b/001-02.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 27.083333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAABYlAAAWJQFJUiTwAAABKUlEQVQY01WQ2U7CUBRF+x/GGGRo6QRtobfzIFChSFBCCAGVqDExxv9/Xd4SNfFh5+Q8nJW1jxIFMVGQEEUZfjPDlLEn8IYehm7xfHrhYX+k3hxY705Uqy3F5JZptWBW1WTljKSYIuKcIClQBvJQ65v0dZtOT+e6o/3l4rLF/vDIvF4iwpg4zYjilNQfM0ljcuHjWiaGYaD2umiaijISEdbAQ5U2qgT/RpN7q93j9e2d+82WMM7IihvSvJSNAooso8xz2ShkMBziui62baMYlkNX1Wl3tZ/0z7Oxvbxqc3w6sVyt5TsiaZhLcIrrjfB9H18IHMfBNM0zTNd1lCQraSwdz/8XdyQwbYePzy+2uz3VfMFiuZL175hMptR1TSENG3AgjYWEh9L2GxC7pgVt0X+SAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"001 02\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/7ca391d0d671f90674a0ec6eca5b71d2/d9199/001-02.png\"\n        srcset=\"/devHistoryBlog/static/7ca391d0d671f90674a0ec6eca5b71d2/8ff5a/001-02.png 240w,\n/devHistoryBlog/static/7ca391d0d671f90674a0ec6eca5b71d2/e85cb/001-02.png 480w,\n/devHistoryBlog/static/7ca391d0d671f90674a0ec6eca5b71d2/d9199/001-02.png 960w,\n/devHistoryBlog/static/7ca391d0d671f90674a0ec6eca5b71d2/07a9c/001-02.png 1440w,\n/devHistoryBlog/static/7ca391d0d671f90674a0ec6eca5b71d2/29114/001-02.png 1920w,\n/devHistoryBlog/static/7ca391d0d671f90674a0ec6eca5b71d2/30a3b/001-02.png 3254w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>즉, 스프링부트의 버전에 따른 gradle 플러그인의 packageing 기본 설정 차이가 있기 때문이다.</li>\n</ul>\n<br/>\n<h2>✔️ executable jar, plain jar 의 차이가 뭐지?</h2>\n<ul>\n<li>plain jar 파일의 경우 어플리케이션 실행에 필요한 모든 의존성을 포함하지 않고 소스코드의 클래스파일과 리소스 파일만 포함한다.</li>\n<li>executable jar 파일의 경우 실행에 필요한 모든 의존성을 함께 빌드한다. 따라서 해당 파일은 <code class=\"language-text\">java -jar</code> 명령어를 통해 실행이 가능하다.</li>\n</ul>\n<br/>\n<h2>✔️ plain jar 를 생성하지 않는 방법은?</h2>\n<ul>\n<li>jar task 를 수행하지 않으면 된다.</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/885fe781359728669b700b0697ddbfce/764d0/001-03.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 29.583333333333332%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAxUlEQVQY05WP3QrCMAyF+96CV8IeSUUfQ/BCcM510/24v6xb2sKOtRcKIqiBj4SQnOSIuq6R5zmklDjHMaIoQpKmHpkkKIoCxhiP1voJM0O/9ay1EE3ToCxLv3jNMi9+qypU7tAjd0T4J8RsPsciCBCGIYi6j0PTNP2EF1yuN1httpDpBcWtBinGyM6CsWBtHNbX3xjZODc9hBoYLQ04HE/Y7Q84yQyhzFG1CoMbUqP+GVIjREuvReoHlxmd+7J3hx79f7kD/5LNOIFlhS0AAAAASUVORK5CYII='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"001 03\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/885fe781359728669b700b0697ddbfce/d9199/001-03.png\"\n        srcset=\"/devHistoryBlog/static/885fe781359728669b700b0697ddbfce/8ff5a/001-03.png 240w,\n/devHistoryBlog/static/885fe781359728669b700b0697ddbfce/e85cb/001-03.png 480w,\n/devHistoryBlog/static/885fe781359728669b700b0697ddbfce/d9199/001-03.png 960w,\n/devHistoryBlog/static/885fe781359728669b700b0697ddbfce/07a9c/001-03.png 1440w,\n/devHistoryBlog/static/885fe781359728669b700b0697ddbfce/764d0/001-03.png 1898w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>","fields":{"tagSlugs":["/tags/springboot/"],"slug":"/history/posts/2022-08-07--001"},"frontmatter":{"title":"SpringBoot 빌드시 2개 jar 파일 생성되는 이유?","tags":["springboot"],"date":"2022-08-07","description":""}}},"pageContext":{"slug":"/history/posts/2022-08-07--001"}},"staticQueryHashes":[]}