Kim-Gayoung / RPCExample_Java

https://github.com/kwanghoon/rpcexample
0 stars 1 forks source link

(base) directory 설정을 본인 컴퓨터 환경에 맞추어 고정시키면 어떻게 하나? #7

Closed kwanghoon closed 6 years ago

kwanghoon commented 6 years ago

https://github.com/Kim-Gayoung/RPCExample_Java/blob/cddaf14d92e25dcfa6c1f11e8204bc8c5ac08951/src/com/example/lib/CommonParserUtil.java#L344

Kim-Gayoung commented 6 years ago

@kwanghoon 위와 같은 코드를 통해 directory는 사용자가 이용하고 있는 현재 workspace를 절대경로를 가져오는 걸로 있습니다.

정확히 어떤 문제인지 알 수 있을까요?

kwanghoon commented 6 years ago

@Kim-Gayoung 우리는 개발하고 있기 때문에 eclipse의 workspace 절대 경로가 중요하지만 사용자 입장에서 생각하면 바이너리만 어느 디렉토리에 풀어놓고 실행하겠지. 사용자가 우리 프로그램을 사용하기 위해서 eclipse를 설치해서 사용해야 하는 것은 아니겠지. 그 경우도 System.getProperty("user.dir")이 사용자가 풀어놓은 디렉토리를 가리키는지 확인하고 그 결과를 알려주도록.

Kim-Gayoung commented 6 years ago

@kwanghoon System.getProperty에 대해서 다양한 부분을 적용해보느라 이 부분에 대해서 답이 느려진 부분 죄송합니다. 지금까지 작성된 부분을 jar 파일로 만들어 실행해본 결과 커맨드 창에서의 위치를 출력하는 것으로 확인되었습니다. 배치파일을 제공해주었을 때 정상적으로 작동하는 것을 확인하였으며, 이 정상적으로 동작한 환경은 jar파일, 배치파일과 genlrparser-exe.exe 파일이 같은 디렉토리 상에 있을 때였습니다.

System.getProperty("user.home"), ClassLoader, class.getProtectionDomain() 등을 다양하게 시도해본 결과 System.getProperty("user.dir")이 최적의 선택이라는 결론을 내리게 되었습니다.

kwanghoon commented 6 years ago

@Kim-Gayoung 👍