Skip to content

JDK21에서 빌드 및 런타임 실행이 가능하도록 수정#1049

Open
DaLae37 wants to merge 7 commits intoscouter-project:developfrom
DaLae37:JDK21
Open

JDK21에서 빌드 및 런타임 실행이 가능하도록 수정#1049
DaLae37 wants to merge 7 commits intoscouter-project:developfrom
DaLae37:JDK21

Conversation

@DaLae37
Copy link

@DaLae37 DaLae37 commented Mar 19, 2026

테스트 환경 : Temurin JDK21 (빌드 / 런타임 실행)

  1. JDK21 환경에서 build_package.sh를 실행해 빌드가 되도록 pom.xml 수정
  2. JDK21, JDK8 빌드 분기를 scouter.parent의 pom.xml에서 구분하도록 수정
    • profile을 parent로 가져와서 JDK21에서만 scouter.extra.java20이 빌드 되도록 수정
  3. Scala를 2.13.18로 업데이트 (JDK8 ~ JDK21 모두 지원)
    • 문법 업데이트
    • 임포트 패키지 scala.collection.JavaConversions. -> scala.jdk.CollectionConverters._
  4. 하위 pom.xml의 버전관리를 parent의 pom.xml에서 가능하도록 properties및 dependencyManagement를 추가
  5. scouter.server의 startup.sh에 --add-opens java.base/java.lang=ALL-UNNAMED 옵션을 추가 (JDK9 이상에서만 동작)
    • sun.misc.Unsafe.defineClass 메서드 제거 문제 해결

gunlee01 and others added 7 commits February 15, 2026 10:21
Merge develop to master - Client improvements and platform upgrades
Release 2.21.3 with Eclipse 2025-12 upgrade and group search feature
…ance

- Centralize dependency and plugin version management via the Parent POM.
- Remove hardcoded Java compiler versions to support multi-JDK profiles (jdk8/jdk21).
- Simplify sub-module POMs by removing duplicate properties and unnecessary XML tags.
- [Scala] Migrate deprecated JavaConversions to CollectionConverters for Scala 2.13
- [Scala] Fix explicit collection conversions in AgentManager and AccountService
- [Build] Synchronize Maven profile IDs between parent and sub-modules
- [Build] Use conditional module inclusion for Java 21 instead of JAVA_21_HOME
- [Java 21] Add add-exports compiler arguments for sun.net.www internal API access
- [Deploy] Support flexible assembly in scouter-deploy via Ant fileset untar
- [Misc] Disable failOnError for Javadoc to support mixed Java and Scala source
- Upgraded library dependencies to be compatible with JDK 21.
- Updated startup.sh in scouter.server to automatically inject the --add-opens java.base/java.lang=ALL-UNNAMED JVM option.
- scouter.server: Resolved Jetty version conflict.
- scouter.webapp: Fixed dependency package versions.
- SUser: Added No-Args constructor to fix Jackson 'Cannot construct instance' error during login.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants