2020년 5월 30일 토요일, 리브레오피스(LibreOffice)의 저장소(Repository)를 다운로드 받아 빌드 설정을 하려니 Java 버전 오류가 아래와 같이 발생하였습니다.

./autogen.sh --with-locales="ko" --with-vendor="me" --disable-werror --with-build-version="Built by me" --with-lang="ko" --enable-dbgutil


위의 이미지 설명: 맥운영체제(MacOSX)빌드시 Java버전 최소9이상이어야 하여 빌드 설정 실패

그래서, MacOSX에 openJDK9이상을 설치하도록 진행을 해보았습니다. 이제는 Oracle이 Java JDK를 유료화해버려서, 혹시나 모를 라이선스 문제로 openJDK로 Java버전을 업그레이드 하려고 합니다.

Oracle이 Java를 유료화하면서, 자유오픈소스 프로젝트인 리브레오피스(LibreOffice)에 Java를 사용하기 위해 자유오픈소스로 된 Java구현인 openJDK를 Mac에서 설치해보겠습니다.

openJDK 홈페이지

맥운영체제(MacOSX)에서 openJDK를 쉽게 설치하려면 brew를 이용하여 설치하는 것이 쉽습니다.

AdoptOpenJDK는 JDK를 쉽게 설치할수 있게 사전에 미리 빌드한(prebuild) java binaries를 제공하는 커뮤니티 그룹입니다.

AdoptOpenJDK

이 그룹에서는 MacOSX, Linux, Windows용 JDK바이너리를 제공하고 있습니다.

여기서 제공하는 것을 직접 빌드하기엔 제가 시간이 없으므로 (주말에만 활동하는 자유오픈소스 개발자), brew에서 올라온 AdoptOpenJDK빌드를 사용하여 JDK를 설치했습니다.

아래는 AdoptOpenJDK의 homebrew패키지용 Github 링크입니다.
AdoptOpenJDK/homebrew-openjdk

위의 Github내용에 따라 brew로 'OpenJDK14 with OpenJ9 JVM'을 설치하였습니다.
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk14-openj9

이후에 openJDK14가 설치가 제대로 되었는지 확인해봅니다

% java --version
openjdk 14.0.1 2020-04-14
OpenJDK Runtime Environment AdoptOpenJDK (build 14.0.1+7)
Eclipse OpenJ9 VM AdoptOpenJDK (build openj9-0.20.0, JRE 14 Mac OS X amd64-64-Bit Compressed References 20200427_53 (JIT enabled, AOT enabled)
OpenJ9   - 05fa2d361
OMR      - d4365f371
JCL      - 5757187cae based on jdk-14.0.1+7)

openJDK14설치후, 다시 빌드 설정을 하니 성공하였습니다.

Buy me a coffeeBuy me a coffee

2020년 5월 15일에 Spring Boot 2.3.0 이 출시되었다고 함.

https://spring.io/blog/2020/05/15/spring-boot-2-3-0-available-now 

 

바뀐점은 다음과 같음

의존성 관련 버전 업그레이드 

  • Spring Data Neumann
  • Spring HATEOAS 1.1
  • Spring Integration 5.3
  • Spring Kafka 2.5
  • Spring Security 5.3
  • Spring Session Dragonfruit

그리고, 서드파티 라이브러리도 의존성관련으로 업그레이드가 됨

  • Cassandra Driver 4.6
  • Couchbase Client 3.0
  • Elasticsearch 7.6
  • Kafka 2.5
  • Micrometer 1.5
  • MongoDB 4.0

Java 14 지원

Docker 지원

Graceful shutdown (우아한 닫기) 지원

Liveness and readiness probes, Spring Data Neuman, 등등 여러가지 추가 및 변경사항 생김을 확인,

 

Spring boot 2.3.0에 대한 문서는 아래를 참조하여 확인하면 될것 같음.

https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/reference/html/index.html

 

Spring Boot Reference Documentation

The reference documentation consists of the following sections: Legal Legal information. Documentation Overview About the Documentation, Getting Help, First Steps, and more. Getting Started Introducing Spring Boot, System Requirements, Servlet Containers,

docs.spring.io

 

ps. 오래간만에 본업에 관련한 글을 올림. 

ps2. 참고할만한 Spring 관련 Git프로젝트

https://github.com/spring-io/sagan

 

spring-io/sagan

The spring.io site and reference application. Contribute to spring-io/sagan development by creating an account on GitHub.

github.com

ps3. Spring Boot 2.3출시 정보와 Spring Boot 2.2에서 2.3으로 이전할때 가이드

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#upgrading-from-spring-boot-22

 

spring-projects/spring-boot

Spring Boot. Contribute to spring-projects/spring-boot development by creating an account on GitHub.

github.com

ps4. Spring boot에 Jasypt 통합 라이브러리 

https://github.com/ulisesbocchio/jasypt-spring-boot

 

ulisesbocchio/jasypt-spring-boot

Jasypt integration for Spring boot. Contribute to ulisesbocchio/jasypt-spring-boot development by creating an account on GitHub.

github.com

Spring boot2.3으로 올릴때 버전 업하면 변경해야하는 사항을 여기서 확인해야함 

Buy me a coffeeBuy me a coffee

JDK9의 55가지 새로운 기능(55 New Features in JDK 9)


Buy me a coffeeBuy me a coffee


https://jdk9.java.net/download/ 에서 Early Access Release 를 다운로드 받음.


Java9 early Access Releases - https://jdk9.java.net/download/Java9 early Access Releases


Java9 의 Jigsaw project


Prepare for JDK 9  - Java9에 대한 소개 

Alan BatemanJava Platform Group, Oracle September 2016


Buy me a coffeeBuy me a coffee

OWASP(The Open Web Application Security Project) 문서 참조

https://www.owasp.org/index.php/Java_gotchas#Immutable_Objects_.2F_Wrapper_Class_Caching 


위의 링크에서 동등성 비교에 대하여 좋은 내용이 들어감.


가끔가다, 나도 값을 비교할 때와 객체 동등성을 확인할 때,  '=='을 사용해야 할지 equals를 사용해야 할지 정말 헷갈릴 때가 있음.


"==" - 항상 객체 동등성 비교할 때 사용

equals - 항상 객체 안의 값을 비교할 때 사용.

Buy me a coffeeBuy me a coffee

피보탈(Pivotal) 엔지니어이면서, 스프링부트 책을 작성한 마키 토시아키(槇俊明, Toshiaki Maki)씨가 발표한 스프링 프레이워크와 스프링 부트 슬라이드 입니다.


#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach


아래는 "What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's Cloud Native Approach" 슬라이드를 공개한 트윗 링크입니다.



마키 토시아키(槇俊明, Toshiaki Maki)씨가 작성한 스프링부트 책의 한국어 번역판 소개

가장 빨리 만나는 스프링부트
국내도서
저자 : 마키 토시아키 / 김범준역
출판 : 길벗 2015.07.02
상세보기


위의 "가장 빨리 만나는 스프링부트"책의 원본 표지입니다.



ps. 마키 토시아키(槇俊明, Toshiaki Maki)씨의 트윗을 보니 조만간에 위의 책의 개정판을 Spring Boot 1.4 기준으로 내놓는다는군요


Buy me a coffeeBuy me a coffee

Ubuntu 14.04에서 Oracle Java JDK 설치 

Ubuntu에서 Java를 설치하려면 Open JDK가 기본 선택을 설치됨. 그러나 Oracle JDK를 설치하려면 아래의 명령어(command)를 입력하여 설치해야함.

sudo apt-get update
sudo apt-get -y install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get -y install oracle-java8-installer
sudo update-java-alternatives -s java-8-oracle
sudo apt-get install oracle-java8-set-default


Buy me a coffeeBuy me a coffee

이번 SpringOne2GX 2015에 발표된 내용. 기존 Java코드(Legacy code)를 Java8으로 바꾸는 방법


Transforming Code to Java 8

Recorded at SpringOne2GX 2015. 

Speaker: Dr. Venkat Subramaniam 

The new facilities in Java 8 is about the change the way we write code. Our code will become more expressive and concise. But, exactly how?




Buy me a coffeeBuy me a coffee

이제 슬슬 Java8에 대하여 대응을 해야겠음. 그래서 Java8책을 정독하고 문서도 계속 읽어봐야겠음.


Spring Framework도 Java8을 사용할수 있다고 하니 미리미리 대응을 해야 겠음.

Spring Framework on Java 8


Speakers:Juergen Hoeller 

Core Spring Track

Spring has a track record of providing dedicated support for new Java generations in a timely fashion, and now it’s right about time to go Java 8: With Spring Framework 4.0, we're providing in-depth support for all relevant OpenJDK 8 features, including lambda expressions, JSR-310 Date and Time, parameter name discovery, and java.util.concurrent enhancements. This talk will illustrate basic Spring Framework 4.0 concepts, and selected Java 8 features within Spring's programming model, exploring the impact on application architectures.


슬라이드(Slide)



Buy me a coffeeBuy me a coffee

SpringOne2GX 2015에 발표된 자료입니다.

Modern Java Component Design with Spring Framework 4.2


슬라이드(Slide)



Buy me a coffeeBuy me a coffee

+ Recent posts