EtoC
lombok 에러 및 설치 본문
윈도우 노트북에서 m1 맥북으로 바꿨더니 로그인이 되지않는 문제가 발생했다.
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
MemberUser memberUser = (MemberUser) authentication.getPrincipal();
//principal: "누구"에 해당하는 정보 -> 객체타입은 UserDetails :pw,id,auth
SecurityContextHolder.getContext().setAuthentication
(createAuth(authentication,memberUser.getMember().getMemberID()));
rttr.addFlashAttribute("msg1", "성공");
rttr.addFlashAttribute("msg2", "업로드 되었습니다");
return "redirect:/";
}
위의 코드에서 getMember()쪽에 빨간 줄이 그어지면서 create getMember라는 오류 수정 문구가떴다.
entity에 분명 생성해두었는데 왜 불러오질 못하는걸까?
package kr.co.entity;
import java.util.Collection;
import java.util.stream.Collectors;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import lombok.Data;
@Data
public class MemberUser extends User {
// 인증- 사용자 정보 저장한다
private Member member;
public MemberUser(String name, String password, Collection<? extends GrantedAuthority> autorities) {
// 부모 생성자 호출
super(name, password, autorities); // 세가지 정보
}
public MemberUser(Member memberVo) {
super(memberVo.getMemberID(), memberVo.getMemberPw(), memberVo.getAuthLi().stream()
.map(auth -> new SimpleGrantedAuthority(auth.getAuth())).collect(Collectors.toList()));
//세가지 정보 (시큐리티에서 제공)
this.member = memberVo; //+@
}
}
보면서 생각해보니 lombok의 Data 이노테이션일 사용할수없어서 getter and setter를 사용해서 entity를 작성했던것이 생각났다.
위의 페이지에서 lombok다운로드하고 다운로드 경로에서 터미널을 열고 아래의 명령어를 입력하여 실행하자
java -jar lombok.jar
eclipse.app 이라고 써진 체크박스에 체크하고 install/update를 누르면 설치가 완료된다.
이후 이클립스를 재부팅하고 로그인을하니 잘 되는것을 확인하였다.
윈도우 노트북을 사용했을떄는 전자정부프레임워크를 사용해서 lombok을 설치하지않아도 사용할 수 있었는데
일반적인 이클립스 사용시에는 lombok을 따로 설치해야 사용할 수 있었다.