jar파일로 생성시
275
작성한 질문수 36
zoneService에서 자꾸 에러가 뜨는데
아마도 zones_kr.csv문제인것같은데 해결방법이 없을까요?
답변 2
5
ClassPathResource 방식은 Jar 파일에서는 파일 경로를 찾을 수 없나봅니다. 구글링 해보니 결론은 InputStream 으로 바꿔서 해줘야한다고 하네요.
@PostConstruct
public void initZoneData() throws IOException {
if (zoneRepository.count() == 0) {
Resource resource = new ClassPathResource("zones_kr.csv");
InputStreamReader inputStreamReader = new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8);
BufferedReader br = new BufferedReader(inputStreamReader);
StringBuilder sb = new StringBuilder();
int i = 0;
while (i < 85) {
sb.append(br.readLine());
sb.append("\n");
i++;
}
String s = sb.toString();
String[] zones = s.split("\n");
List<Zone> zoneList = Arrays.stream(zones).map(line -> {
String[] split = line.split(",");
return Zone.builder()
.city(split[0])
.localNameOfCity(split[1])
.province(split[2])
.build();
}).collect(Collectors.toList());
zoneRepository.saveAll(zoneList);
}
}
이런식으로 하니 jar에서도 잘 되긴 합니다.
원래는 while(true)로 하고 안에서 br.readLine 이 null이면 break 해주면 되는걸로 아는데, 이상하게 그렇게하면 계속 에러가 나네요.
아무튼 Jar파일에서도 실행하시려면 위처럼 하시면 될겁니다. 일단 저는 잘됩니다.
0
보통 이런 질문을 하실때는 어떤 에러인지 메시지를 보여주시면 좋겠는데요. 아마도 아래 코드 참고하시면 해결하실 수 있을 겁니다.
https://github.com/whiteship/studyolle/blob/master/src/main/java/com/studyolle/modules/zone/ZoneService.java
Study 개설하는 로직에 대해서 궁금점이 있습니다.
0
56
1
앱 재시작 후 회원가입
0
104
1
app.host 관련 질문이 있습니다
0
99
1
강의 버전 정보
0
127
1
event, study 참조
0
222
2
비밀번호 변경 로직 질문있습니다.
0
136
1
프로필 수정 처리 merge 질문입니다.
0
108
1
회원가입 성공 후 redirect이동시 권한 질문
0
498
3
HtmlEmailService 개발하다 생긴 의문입니다
0
252
2
postgreSql 연결하여 JPA 를 통해 테이블 생성시 ZONE 테이블 생성에서 에러가 납니다
0
432
2
수업질문 [긴급] 로그인안되는 문제 말씀해주시는 부분 반영해서 최종 질문드립니다
0
265
2
[긴급-재업로드]수업질문 로그인 안 되는 문제
0
238
1
[긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요
0
278
1
cropper 오류 문제로 질문드립니다..
0
289
2
authentication관련 질문...
0
498
2
모임참가 취소 할때 로직 질문
0
352
3
안녕하세요 기선님 질문이있습니다..
0
231
1
HTML코드 및 강의 중간자료들
0
681
3
springSecurity
0
525
2
버전 질문입니다.
0
304
1
부트스트랩, css
0
357
2
영속성 컨텍스트 질문
0
252
2
다시 강의를 보니 드는생각..
0
355
2
5:50에 나오는 HTML코드는 어디서 찾을 수 있나여?
0
317
1





