μμΉ΄λ₯΄ν λ©μΌ νλ‘λ°μ΄λ μ€λ₯
π©βπ» μ¬μ©μ λ‘κ·ΈμΈ μ 2μ°¨ μΈμ¦ λ©μΌμ΄ μμμ
κ°λ°μ€μΈ μ ν리μΌμ΄μ μλ²λ₯Ό QAκ° λ°°ν¬νκ³ λμ μ¬μ©μ λ‘κ·ΈμΈ μ 2μ°¨μΈμ¦μ μννκΈ° μν μΈμ¦μ½λ λ©μΌμ΄ μμ μ΄ μλλ€λ λ²κ·Έ 리ν¬νΈλ₯Ό ν΄μ£Όμμ΄μ. κ°μκΈ° μ΄λ€ λ¬Έμ λ‘ μΈν΄ μ΄λ©μΌμ΄ λ°μ‘λμ§ μμλμ§μ ν΄κ²°κ³Όμ μ λν΄μ 곡μ ν΄λ³΄λ €κ³ ν©λλ€.
λ¬Έμ μμΈ λΆμ
λ¨Όμ , ν΄λΉ μλ²μλ μμΈ μν©μ μΆμ ν μ μλλ‘ Sentryκ° λμ λμ΄ μλ μνμμ΅λλ€. Sentry μμλ μμ§λ μμΈκ° μμκΈ° λλ¬Έμ μ¦μ μμμ±μ§ λͺ»νλ μν©μ ν΄λΉν©λλ€. μ무νΌ, μ ν리μΌμ΄μ μλ² λ‘κ·Έλ₯Ό νμΈνκΈ° μν΄μ 리λ μ€ μλ²μ μ μνκ³ λ컀 컨ν μ΄λμ κΈ°λ‘λ μ΅κ·Ό λ‘κ·Έλ₯Ό μ΄ν΄λ³΄μμ΅λλ€.
# docker compose logs --since '2024-09-06T16:00+09:00' app
docker compose logs --since '5m' app
app | ... caused by: Not provider of jakarta.mail.util.StreamProvider was found
λ컀 μ»΄ν¬μ¦μμ βsince μ΅μ μ μ¬μ©νλ©΄ μνλ μμ λΆν°μ λ‘κ·Έλ₯Ό νμΈν μ μμ΄μ
μλ² λ‘κ·Έμλ μμ κ°μ΄ μμΉ΄λ₯΄ν λ©μΌμ StreamProviderλ₯Ό μ°Ύμ μ μλ€λ μ€λ₯ λ©μμ§κ° λ¨μμμλλ°μ. μ²μ보λ μ€λ₯ λ©μμ§ μ΄λ―λ‘ κ΅¬κΈ κ²μμ ν΄λ³΄λ μμΉ΄λ₯΄ν λ©μΌ κ΄λ ¨ κΉνλΈμ μ΄μλ‘ λ±λ‘λ λ΄μ©μ΄ μμμ νμΈνμ΅λλ€. μ΄μ λ΄μ©μ μ ν¨μ€ νλ¬κ·ΈμΈμμ Jakarta Mail API 2.1.1 μ μ¬μ©νλ©΄ μμ λμΌν μ€λ₯κ° λ°μνλ€λ κ²μ΄μμ΅λλ€. λμΌνκ² μ ν¨μ€μμ λ°μν κ²μ μλμ§λ§ μ€νκ°λ₯ν Jar μμ ν΄λμ€λ‘λκ° μ¬λ°λ₯΄μ§ μλλ€λ μ΄μλ₯Ό 보κ²λμκ³ μμΉ΄λ₯΄ν λ©μΌμ λν λΌμ΄λΈλ¬λ¦¬ λ²μ μ νμΈν΄λ³΄μμ΅λλ€.
μλ² μ ν리μΌμ΄μ μ ν΄λΉλλ μ€νλ§ λΆνΈ 3.1.2μ μμ‘΄μ± λ²μ μ 보μμ κ²μμ ν΄λ³΄λ μλμ κ°μ΄ νμ λμμ΅λλ€.
- org.eclipse.angus:angus-mail:1.1.0
- org.eclipse.angus:angus-activation:2.0.1
- jakarta.mail:jakarta.mail-api:1.1.0
- jakarta.activation:jakarta.activation-api:2.1.2
μ°μ λ³κ²½μ¬νμμ μμ¬λλ λΆλΆμ΄ λ°κ²¬λμ§ μμκΈ°μ μμ‘΄μ± λ²μ μ λ³κ²½νμ¬ λ°°ν¬λ₯Ό μλν΄λ³΄μμΌ νμ΅λλ€. build.gradleμ μλμ κ°μ΄ Jakarta Mail API 2.1.3 λ₯Ό μΆκ°νκ³ λΉλ λ° λ°°ν¬λ₯Ό μνν΄λ³΄μμ΅λλ€.
ext {
set('angus-mail.version', '2.0.3') // from 1.1.0
set('jakarta-mail.version', '2.1.3') // from 2.1.2
}
μλ‘κ² λ°°ν¬λ μ ν리μΌμ΄μ μμλ λ©μΌμ΄ λ°μ‘λμ§ μμκ³ μλμ κ°μ μλ‘μ΄ μ€λ₯ λ©μμ§κ° λ¨μμ΅λλ€.
Provider for jakarta.activation.spi.MailcapRegistryProvider cannot be found
Jakarta Mail API λ²μ μ λ³κ²½νλ©΄ jakarta.activation-api λ λ³κ²½λ κ±°λΌ μκ°νλλ°μ. λνλμ νΈλ¦¬λ₯Ό μμΈν μ΄ν΄λ³΄μ§ μμκ² λμ κ³Όμ μμμ μ€μμμ΅λλ€. μλμ κ°μ΄ jakarta-activation μ λν λ²μ μ μΆκ°λ‘ μ§μ νκ³ λ€μ λ°°ν¬νμ΅λλ€.
ext {
set('angus-mail.version', '2.0.3')
set('angus-activation.version', '2.0.2') // from 1.1.0
set('jakarta-mail.version', '2.1.3')
set('jakarta-activation.version', '2.1.3') // from 2.1.2
}
π©βπ» 2μ°¨ μΈμ¦ λ©μΌ μ λλ‘ μμβΌ
μΌλ¨ κΈνκ² ν΄κ²°μ λμμΌλ λ€νμ΄μ§λ§ λ μμΈν λ΄μ©μ λν΄μ μ΄ν΄λ³΄μμΌκ² μ£ ? λ¨Όμ , μμ‘΄μ± λ²μ μ μ¬λ¦¬λ κ²μ λ§μ ν μ€νΈκ° νμν μνν μμ μμ λλμλ΄μΌν©λλ€. ν΄λΉ νλ‘μ νΈλ 릴리μ¦ν μ νμ μλμκΈ°μ μ΄μ νκ²½μ΄ μμκ³ λ¬Έμ κ° λ°μνλ κ²μ ν μ€νΈ μμ§λμ΄κ° κΈ°λ₯ νμΈν μ μλ ν μ€νΈ νκ²½μ΄μκΈ°μ κ°λ₯νμ΅λλ€.
λν, ν΄λΉ μ€λ₯λ λ‘컬 νκ²½μμ μΈν 리μ μ΄ IDEλ‘ μ€νλλ μ ν리μΌμ΄μ μμλ λ°μνμ§ μμλλ°μ. μ€νκ°λ₯ν Jar μμ λ¬Έμ κ° λ°μν μ μλ€λ μ 보λ λ¬Έμ κ° ν΄κ²°νκ³ λμ λ μμΈν λ΄μ©μ μ°Ύμλ³΄κ³ μ 리νλ λ¨κ³μμ μκ²λμμ΅λλ€. λ‘컬μμ λΉλνκ³ μ€νν΄λ³΄μ§ μμ μ κ·Όμ λν΄μλ μμ¬μ΄ λΆλΆμΌλ‘ μκ°λλ―λ‘ κ°μ ν΄μΌν λΆλΆ κ°μ΅λλ€.
λ¬Έμ ν΄κ²° μ 리
Not provider of jakarta.mail.util.StreamProvider was found
Provider for jakarta.activation.spi.MailcapRegistryProvider cannot be found
- μ€νλ§ λΆνΈμμ ForkJoinPoolλ₯Ό μ¬μ©νλ κ²½μ° Executable Jar μμ ν΄λμ€λ‘λκ° μ¬λ°λ₯΄μ§ μμ μ μμ
- λ¬Έμ κ° λμλ μ½λμλ ParallelStream μ μ¬μ©νκΈ°μ λ΄λΆμ μΌλ‘ ForkJoinPoolμ νΈμΆνλ μν
- Jakarta Mail 2.1.2 μ΄ν λ²μ μμ ν΄λμ€λ‘λκ° Jakarta Provider SPIλ₯Ό μ°Ύμ μ μλ κ²°ν¨μ΄ μμ
- Jakarta Mail 2.1.3 μ μ¬μ©νκΈ° μν΄μλ Angus Mail Provider 2.0.3 μ μΆκ°ν΄μΌν¨
β» Angus Mail μ Jakarta Mail Specification 2.1+ μ λν ꡬν체 νλ‘μ νΈλΌκ³ ν΄μ.
κ°μ¬ν©λλ€.