{"componentChunkName":"component---src-templates-post-template-jsx","path":"/errors/posts/2020-11-10--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":"67ac8af4-c8c5-56b3-9bdf-f5d81041931d","html":"<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/4fd6968ae85b4663590439a611cde5d2/07eba/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: 565px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 17.5%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABJ0AAASdAHeZh94AAAAtUlEQVQY03WMWQ6CMBRFWZnDj1AcQoKVwbgBBQSp83ooifBpYXnXlsYoJn6cnJt7X55B8xKrQwk35VhmBWjG4cnujc/UzjGPOKa7/9jbAjNpw2ENnFxgcRCg5xbhvZVuOsJbg+Cq3MJhAlbyhBk/O3c5+WQrESB7AYPsHrCjCpa0k1bYXGqsWA3vWCM81whO2msJzWUvN8r0jX/UnbLqZ3EFY2C6GEw0Q5lHVp8x+cq/kL7Vrxe9A7b+xW1yLAAAAABJRU5ErkJggg=='); 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/4fd6968ae85b4663590439a611cde5d2/07eba/001-01.png\"\n        srcset=\"/devHistoryBlog/static/4fd6968ae85b4663590439a611cde5d2/8ff5a/001-01.png 240w,\n/devHistoryBlog/static/4fd6968ae85b4663590439a611cde5d2/e85cb/001-01.png 480w,\n/devHistoryBlog/static/4fd6968ae85b4663590439a611cde5d2/07eba/001-01.png 565w\"\n        sizes=\"(max-width: 565px) 100vw, 565px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<h3>문제</h3>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/808e020dcee03895070ef6f8abdf0ab3/854dc/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: 569px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 21.25%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAECAYAAACOXx+WAAAACXBIWXMAABJ0AAASdAHeZh94AAAAxElEQVQY04WPS07EMBBEcxwm/juxnZ+TmMkMrJHYzyXm/A8zIITEgkWpSq/Vrerm7dUwTYJtleSsidHheosPli44rNFIKVBKPSSl/PGTHnmyK9L0SCEerMnRcgyaZR7Zzxe2/Zl1K5TzlbyMvJTEUWa2crDW2ZI3ynEhrxmz39DXO/PxTgwd1jqaz6vJCYIVtVEkjRN9TKThy7s+Emvu+oDzHTGN1T3GKYyVeO8qGwh1V9VPGqU1ba3btu23Tr/yfxJ/2AfR3n/Tnc7raQAAAABJRU5ErkJggg=='); 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/808e020dcee03895070ef6f8abdf0ab3/854dc/001-02.png\"\n        srcset=\"/devHistoryBlog/static/808e020dcee03895070ef6f8abdf0ab3/8ff5a/001-02.png 240w,\n/devHistoryBlog/static/808e020dcee03895070ef6f8abdf0ab3/e85cb/001-02.png 480w,\n/devHistoryBlog/static/808e020dcee03895070ef6f8abdf0ab3/854dc/001-02.png 569w\"\n        sizes=\"(max-width: 569px) 100vw, 569px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<p>Dto 클래스에 @Builder 사용 시 builder() 메소드를 찾을 수 없다는 에러 발생</p>\n<h3>원인</h3>\n<p>Lombok의 어노테이션을 사용할 경우 컴파일 시 어노테이션을 먼저 스캔해서 코드(getter, setter 등)로 변환해주는 선처리가 필요\n또는\nIntelliJ에서 “Enable annotation processing” 을 활성화 </p>\n<h4>AnnotationProcessor?</h4>\n<p>어노테이션 프로세싱은 자바 컴파일러의 컴파일 단계에서, 유저가 정의한 어노테이션의 소스코드를 분석하고 처리하기 위해 사용되는 훅이다. 컴파일 에러나 컴파일 경고를 만들어내거나, 소스코드(.java)와 바이트코드(.class)를 내보내기도 한다.</p>\n<h3>해결</h3>\n<ul>\n<li>\n<ol>\n<li>\n<p>build.gradle 에 annotationProcessor 추가</p>\n<div class=\"gatsby-highlight\" data-language=\"java\"><pre class=\"language-java\"><code class=\"language-java\">annotationProcessor <span class=\"token string\">'org.projectlombok:lombok'</span>\ntestAnnotationProcessor <span class=\"token string\">'org.projectlombok:lombok'</span> <span class=\"token comment\">// 테스트 코드에서 lombok 사용 시</span></code></pre></div>\n</li>\n</ol>\n</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\">- 2. IntelliJ File -&gt; Settings 에서 아래 그림과 같이 설정\n![](./001-03.PNG)</code></pre></div>","fields":{"tagSlugs":["/tags/lombok/","/tags/annotation-processor/"],"slug":"/errors/posts/2020-11-10--001"},"frontmatter":{"title":"Lombok - Can not find symbol","tags":["lombok","annotationProcessor"],"date":"2020-11-10","description":""}}},"pageContext":{"slug":"/errors/posts/2020-11-10--001"}},"staticQueryHashes":[]}