센스나나
131
2021-03-22 15:58:34
22
1225

회사 jdk버전이 1.6인데요...


sm이라 협력사가 홈페이지 제작 완료되면, 제가 관리하게됐습니다.


마무리되어가는 시점에서 확인해보니 jdk 1.6이랑 spring 3.x버전인데,

마음같아서 jdk 1.8이랑 spring 5.x버전까지 끌어올리고 싶습니다.

물론 회사분께 질문하는게 빠르지만


허락만 된다면 openjdk 1.8이용해서 바로 업그레이드 진행해도 될까요?

혹시 이렇게 바로 업그레이드하는 것에 이슈는 없나요?


신입이라 한소리 들을까봐 일단 여기 선배님께 질문 남깁니다!!!

0
  • 댓글 22

  • 우당탕탕코딩
    65
    2021-03-22 16:00:15

    특별한 이유가 없다면 굳이 버전업하고싶다는 얘기는 한 소리 들을 것 같은데요...

    본인도 버전업에 따른 이슈가 있는지 없는지도 모르는 상황에서 괜히 얘기 안꺼내시는게 나을 것 같아요

  • spoon
    1k
    2021-03-22 16:01:21 작성 2021-03-22 16:02:21 수정됨

    버전업에 따라 모든 프로그램에 대해 확인을 하고 마감기한에 맞추실 수 있나요?

    현재 문제가 없다면 시간만 잡아먹는 일이라 허락하지 않을듯 합니다

  • 돈까스
    5k
    2021-03-22 16:04:07 작성 2021-03-22 16:07:18 수정됨

    책임질 자신이 있으면 올리면 되죠. :)

    그리고 무슨 이슈가 생길지는 해보지 않고는 모릅니다.

    이런 질문을 게시판에 하실 정도라면 고생 많이 하실 것 같습니다. :)


    근데 언젠가는 해야 되는 일이잖아요?

    시간 확보해서 해보시고, 테스트 많이 하세요.

  • sac89
    509
    2021-03-22 16:09:36

    혹시 이렇게 바로 업그레이드하는 것에 이슈는 없나요?  에서 부터 아직 준비조차 되지 않은 상태입니다.

    1.8로 변경함으로써 발생 될 이슈 등을 먼저 체크하시는게 순서일거같아요.


  • 마우니
    769
    2021-03-22 16:12:37

    잘 돌아가는 건 건들면 안 됩니다

  • 웃지않는광대
    149
    2021-03-22 16:18:00 작성 2021-03-22 16:20:03 수정됨
    예전에 db를 최신서버로 구매하면서 jdk 이슈가발생한적 있습니다.

    was는 완전 구형 상용was이고(2009년도에 구매함) software도 구형 tool이엿죠

    근대 database는 최신 오라클을 구매해서 마이그레이션했는데 

    오라클같은경우는 최소 권장 구동 jdk가 1.7이더라구요

    하지만 was같은경우는 그때 당시 jdk가 1.4인가 1.5가 최신이여서

    거기는 1.7jdk 자체가 권장 jdk에 없었던거죠 (db도 jdk가 필요하고, was도 jdk가 필요합니다)

    그러다보니 결국에는 jdk를 1.5로 맞추되 최신 오라클에 있는 기능은 다 제거하고

    구형 오라클처럼 sql , db셋팅을 다 바꿧었죠 (jdk 1.7버전에 나온 아주 좋은 기능을 활용하면 뻗음)

    모든 프로그램에 대해서 조회부터 수정 저장 다 테스트하고 

    특히 db쪽 최신 설정같은거 해보면서 만약 뻗으면 다른걸로 바꾸고 고생한 기억이있네요

    결국 최신 db지만 하드웨어만 뛰어나고 소프트웨어적으로는 구형 오라클 버전처럼 사용햇엇습니다
  • howoni123
    863
    2021-03-22 16:26:27

    보안적인 측면에서 더이상 Support 되지 않는 버전을 운영하는건 리스크입니다.

    하지만 메이저버전이 올라가버리면 설정자체가 변경되는게 많아서 예측 불가능한 이슈가 발생할것입니다.


    근데 언젠가는 해야하는 일이긴 합니다만... 쩝...

  • fender
    21k
    2021-03-22 16:33:40

    아마 오키에선 소수 의견이겠지만 저 같으면 그 정도는 일단 올리고 생각하겠습니다.

    프레임워크 메이저 버전이라도 올리는 것도 아니고 기본으로 하위 호환성이 있는 JVM 버전업이고, 또 문제 생기면 다운그레이드가 어려운 것도 아닌데 고민이 필요한 문제인가 싶습니다.

    문제생기면 책임질 건가라고 묻는다면, 반대로 보안/버그 패치도 안 되는 16년 된 프로그램 방치해서 문제되는 건 누가 책임지는 것도 아닐텐데 말입니다.

  • 돈까스
    5k
    2021-03-22 16:41:41 작성 2021-03-22 16:59:46 수정됨

    프레임워크 메이저 버전도 올리고 싶다고 하시네요. (스프링 3.x -> 5.x)


    제 의견은 아마 고생은 하실 건데...

    결국에 언젠가는 해봐야 하는 것이기 때문에 안전장치를 확보하셔서 하시는게 좋다고 생각합니다.

    회사입장에서도 그런 레거시는 언젠가 한번 정리해야 하고,

    개발자로서도 그런 경험을 해보시는 것이 좋거든요.

    언젠가는 해야 하는 일이고 빨리할수록 좋죠.


    이왕 하는거면 jdk 16 까지 밟아보세요. 1.8도 이젠 많이 낡았습니다.

    바꾸면서 logger 라이브러리 라든가 dbcp 같은 것들도 최신으로 바꾸시면 좋죠.

    아직도 iBatis 이런 것 쓰고 있다면 이것도 좀 MyBatis로 바꾸고...

    클라이언트의 자바스크립트 라이브러리도 깔끔하게 최신 버전으로 올리고요.


    아마 JVM 내부 코드를 많이 안쓰는 프로그램이면 JVM 올려서 문제될 가능성은 별로 없고요.

    리플렉션이나 deprecated 된 코드들 많이 쓰고 있었으면, 그런 것들 많이 고쳐야 될 겁니다.

    그리고 collection 내부 구현이 달라져서, 예를 들자면 HashMap에 넣었다 나온 목록이 다르게 나오는 문제가 있을수 있습니다.


    일반적인 홍페이지 수준에서는 JDK 버전 이슈는 별로 없을 것 같고,

    스프링 관련된 구성이라든가 설정들에서 많이 문제가 있을 것 같은데요.

    일반적인 방식으로 했다면 모르겠는데, 이상하게 꼬아서 해결한 방법들이 많으면 많을수록 문제될 가능성이 높아져서...


    그리고 고생 많이 하셔야 할 거에요. 아마...

    단지 버전만 바꾸고, 라이브러리 교체만 해서 되는거라면 몇 년동안 왜 안 했겠어요?

  • 쏘핫
    1k
    2021-03-22 16:48:38 작성 2021-03-22 16:49:34 수정됨
    저같으면 잘 돌아가고 있는것을 구지 바꿀 이유는 없을것 같아요....
    더군다나 신입이신데....
    기존에.계시던분들도 이유가 있으니.그냥 놔두는것 아닐까요?? 모르진 않으실테니까요....
  • 돈까스
    5k
    2021-03-22 16:49:44

    굳이 바꿀 이유가 없다니요~

    바꾸고 싶은 마음이 있으면 바꿔야죠. :)

    신입 개발자들이 와서 코드보고 바로 그날 퇴사한다고 할 수도 있어요.

  • 카카오톡
    1k
    2021-03-22 17:03:20 작성 2021-03-22 17:05:19 수정됨

    저도 마이그레이션 하려구요.


    java 7 - > java 8


    오라클 11g -> 19c



    물론 목적은 19c를 사용하기 위함인데 최소 jdk 가 1.8 로  ojbc 8 을 사용할 수 있더라구요.


    그래서 어쩔 수 없이 올릴예정입니다.


    (전 로컬에서 먼저 적용 후 천천히 모든 기능 테스트 예정 입니ㅏㄷ.)

  • 데굴데굴
    984
    2021-03-22 17:27:11

    1.  우선 팀장(?)님한테 업그레이드해도 되는지 물어보세요

    문제가 발생하면 프로젝트를 관리하는 팀장님한테도 책임이 있으니

    그리고 이야기 꺼내기전 업그레이드가 필요한 이유도 준비하시고요


    2. 해라 !! 그러면

       테스트 가능한 서버를 준비 /  테스트 항목 정리 / 업그레이드 작업 진행


    3. 실 서버 적용 전 문제 발생했을때 대처 사항도 미리 정리 (원복 방법 등)


    프레임 업글 같은 경우 버전이 변경되면서 기능 및 관련 라이브러리도 변경이 될수 있어서 실제 작업을 진행 해봐야 할거 같습니다. 

  • 천사와악마
    841
    2021-03-22 17:56:14

    아마 윗선에서 커트 당하실거에요, 윗분들 생각에는 들이는 비용 대비 이득이 별로 거든요

    심지어 신입한테 맡길 사이즈는 아닙니다. 영향도 가늠도 못하시잖아요.

  • 구로막차
    472
    2021-03-22 18:08:59

    SM이시라면 운영서버에 설치된 O/S에 jdk 1.8이 설치되는지부터 확인해보세요.

    그 다음에 보안 솔류션 사용중인지 체크하구요. 사용중이면 해당 솔류선이 무상으로 jdk 1.8을 지원하는지 확인하구요.

    jdk 1.6에서 사용한 라이브러리가  jdk 1.8에서 동작하는지 확인해야 합니다.

    동작한다고 해도 memory leak 가 발생할 수 있으므로 장시간 테스트가 필요합니다.

  • 사이시옷
    970
    2021-03-22 19:10:43 작성 2021-03-22 19:11:39 수정됨

    저도 Sm 수년 했지만 

    그냥 두시는거를 권장합니다.

    그것도  동의없이 임의로 변경은 더 안되고요

    꼭 하고 싶으시면 동의를 받으세요


    아 신입이시군요.

    선임들이  안하는데는 다 이유가

    있을겁니다.

  • 센스나나
    131
    2021-03-22 21:00:13 작성 2021-03-22 21:00:44 수정됨

    이렇게까지 많이 관심을 가져주실 줄 몰랐네요 ㅎㅎ;;


    사실 신입이기에 눈감고 1.8로 올리고 뻑나도 욕한번 먹고 끝날 일로 생각이 들었습니다.


    일단 지배적인 의견이 그냥 두는거군요...


    이 프로젝트 말고 다른 버젼들 1.8로 마이그레이션 찬찬히 진행해본다고 하니까,어느정도 성공한 낌새 보이면 그때가서 다시한번 간보겠습니다


    (그런데 다른 프로젝트 마이그레이션도 이슈발생에 대해서 그냥  1.8로 올려보고 확인하라는 답변을 들은것 같습니다 ;;)

  • Mambo
    5k
    2021-03-22 21:14:59

    우선 Spring 3는 Java 8을 지원하지 않습니다. 결국 스프링 4로 버전을 올려야할텐데 의존하는 라이브러리들의 버전 호환성도 체크해야하고 스프링 3에서 4로 넘어가면서 변경된 부분을 전부 체크해야합니다.

    https://docs.spring.io/spring-framework/docs/4.0.0.RELEASE/spring-framework-reference/htmlsingle/#_java_8_as_well_as_6_and_7

    각 버전별 릴리즈 노트를 확인해보세요


    그런데 현재 시점에서 Java 1.6이라면 협력사에서 예전에 만들어놓은 걸로 돌려막기하는 거라고 볼 수 밖엔 없을 것 같네요. 

  • 르브론제임스234
    340
    2021-03-22 21:31:08

    완전비추 버전업 자체가 하나의 플젝입니다.

    잘안되면 독박이고

    잘되도 회사에 왜 변경했는지 납득시켜야 합니다

  • jslovers
    2k
    2021-03-22 22:36:55

    회사에서 하라고 할 때 하시면 될 것 같습니다.

  • 쓸모있는 개발
    195
    2021-03-23 21:51:42

    기술부채가 얼마나 무서운데요..

    지금이야 1.6우습지만 세월 금방갑니다


    댓글보니 PHP 5.3 운영하는분들이랑 마음가짐이 같으신 분들이네요

  • 개나소나고생
    6k
    2021-03-24 00:36:45

    잘 선택하셔야 하는게 마감기한 없는 프로젝트는 없습니다.

    그 마감 기한에 맞출 수 없는 프로젝트는 굳이 위험을 감수해가면서 버전업을 고집할 필요는 없습니다.

    제가 그런 부분을 제안해봤다가 까였습니다.

    (마감기한 이 없다면 해볼만합니다.)

    버전업에서 동작 안되는 부분 있으면 니가 책임질꺼냐고..

    전 그래서 그대로 두었습니다.

    맞는말이니까요..


  • 로그인을 하시면 댓글을 등록할 수 있습니다.