반응형

서버 개발을 하다보면 사진, 동영상과 같은 파일의 링크설정이 필요한 경우가 아주 많다.


일반적인 Spring기반 서버개발이라면 인터넷에 많이 돌아다니는 Server.xml를 고쳐서 아주 쉽게 구현가능하지만 SpringBoot 기반으로 빠르고 간결하게 개발하는 경우엔 여간 골치거리가 아닐 수 없다.


필자도 이부분때문에 2주정도 삽질했던것 같다.

(물론, 이것만 붙잡고 있었던건 아니지만.... 다른것 하면서 짬짬히 작업했다!!!)



이제 그 짧지만 오랜기간 날 괴롭혔던 SpringBoot 개발 시 Basedir 설정하는 방법에 대해 공유한다.

방법은 엄청쉽다! 코드 한줄이면 끝난다! (뜸좀 들여야지...)





다시한번 말하지만, 필자의 포스트를 보며 이제 막 서버공부 및 개발을 시작하는 모든 주니어들이 나처럼 삽질하는데 많은 시간을 허비하지 않길 바라며, 이제 보따리를 풀어볼까 한다.


Spring기반 프로젝트를 생성하면 아래와 같이 'application.properties'파일이 있을것이다.

이 포스트를 보면서 응? 난 없는데?라고 한다면.... 애도를 표한다.



'application.properties'가 무슨 파일인지는 이 포스트를 보는 누구나 다 알겠지만 그래도 블로그에 포스팅되는 내용이다보니 한번더 설명해보고자 한다.

(설명 내용상 잘못된 부분이 있다면 피드백 부탁드립니다.)



'application.properties'는 Spring기반 서버개발과정에서 필요한 설정들을 정의하는 파일이라 생각하면 빠르게 개념잡는데 도움이 될 것이다.

바로 이곳에 코드 한줄 추가가 오늘 이글을 보고있는 여러분이 원하는 답을 얻을 수 있는 길이다.


# If you set basedir, please create folder which is 'public' in same path with project package
server.tomcat.basedir={여러분의 패키지 경로}/public


별거 없다. 위에처럼 server.tomcat.basedir 설정만 해주면 된다.

다만 여기서 포인트는 두가지다

1. basedir폴더명은 'public'이다.

   영어로 그럴듯하게 적어놓았듯 여러분은 여러분이 서비스를 시작할 

   실제 운영경로(리눅스나 윈도우에서 여러분이 개발한 jar파일 패키지 위치 정보)

         에 public이라는 폴더가 생성 * 서비스되도록 해야한다.

         필자도 전문 서버개발자는 아니기에 basedir에 왜 꼭 public을 설정해야 됐는지는 

         잘 모르지만, basedir은 public으로 설정해줘야한다.

         첨언을 하자면, 여러분의 운영경로에 public폴더를 만들어줄 필요는 없다.

         (왜냐면 jar파일이 실행되면서 없으면 알아서 만들어주니까 ㅎㅎㅎㅎㅎ)


2. 위의 public은 여러분의 운영경로 밑에 선언되어야 한다.

   위에 내용과 같은 말이다. 너무 어렵게 생각하지 마시라.

         예를 들어 리눅스 기준으로 설명하면 여러분의 운영경로가 '/desktop/'이라고 치자

         그럼 여러분은 루트 경로 밑에 desktop이라는 폴더에 jar파일을 넣고 실행시켜 서비스를 

         시작할 것이다.

         이 경우, 여러분이 아래처럼 설정해주면

server.tomcat.basedir=/desktop/public

   desktop폴더 밑에 public 폴더가 없으면 생성되고 해당 폴더에 파일이 있으면 

   정상적으로 링크 서비스가 가능하다.





어떤가! 정말 단순하지 않은가?

Spring공홈에 나와있는 설명도 server.tomcat.basedir만 설정하면 된다고 나와있다. 하지만 위에 기술한 두가지 팁을 알지못한다면 필자처럼 근 2~3주의 시간을 허비해야한다.


오늘 포스팅한 이후로 많은 개발자들이 필자와 같은 고생을 하지 않길 바라며 해당 포스트를 마친다.

반응형

+ Recent posts