์๋
,
์ฐ๋ฆฌ ํ์ ๋ค์ํ Linux ๋ฐฐํฌํ์ install4j์์ NPE ๋ฌธ์ ์ ๋ถ๋ช ํ์ต๋๋ค. (Ubuntu, Centos, Debian ๋ฑ)
JDK ๋ฒ์ : jdk8u181-b13
installer4j๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ์ ์ค์นํ ๋ ๋ค์๊ณผ ๊ฐ์ด fontconfig, ์คํ ์ถ์ ๋๋ฝ์ผ๋ก ์ธํด null ํฌ์ธํฐ ์์ธ๊ฐ ๋ฐ์ํ์ต๋๋ค.
java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) at sun.awt.FontConfiguration.init(FontConfiguration.java:107) at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774) at sun.font.SunFontManager$2.run(SunFontManager.java:431) at java.security.AccessController.doPrivileged(Native Method) at sun.font.SunFontManager.<init>(SunFontManager.java:376) at sun.awt.FcFontManager.<init>(FcFontManager.java:35) at sun.awt.X11FontManager.<init>(X11FontManager.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83) at java.security.AccessController.doPrivileged(Native Method) at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) at sun.font.SunFontManager.getInstance(SunFontManager.java:250) at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:264) at sun.swing.SwingUtilities2.getFontMetrics(SwingUtilities2.java:1113) at javax.swing.JComponent.getFontMetrics(JComponent.java:1626) at javax.swing.text.WrappedPlainView.updateMetrics(WrappedPlainView.java:318) at javax.swing.text.WrappedPlainView.updateChildren(WrappedPlainView.java:297) at javax.swing.text.WrappedPlainView.insertUpdate(WrappedPlainView.java:463) at javax.swing.plaf.basic.BasicTextUI$RootView.insertUpdate(BasicTextUI.java:1610) at javax.swing.plaf.basic.BasicTextUI$UpdateHandler.insertUpdate(BasicTextUI.java:1869) at javax.swing.text.AbstractDocument.fireInsertUpdate(AbstractDocument.java:201) at javax.swing.text.AbstractDocument.handleInsertString(AbstractDocument.java:748) at javax.swing.text.AbstractDocument.insertString(AbstractDocument.java:707) at javax.swing.text.PlainDocument.insertString(PlainDocument.java:130) at javax.swing.text.DefaultEditorKit.read(DefaultEditorKit.java:273) at javax.swing.JEditorPane.setText(JEditorPane.java:1416) at javax.swing.JEditorPane.<init>(JEditorPane.java:290) at com.install4j.runtime.installer.frontend.headless.AbstractHeadlessScreenExecutor.init(AbstractHeadlessScreenExecutor.java:68) at com.install4j.runtime.installer.frontend.headless.ConsoleScreenExecutor.<init>(ConsoleScreenExecutor.java:24) at com.install4j.runtime.installer.frontend.headless.InstallerConsoleScreenExecutor.<init>(InstallerConsoleScreenExecutor.java:6) at com.install4j.runtime.installer.Installer.getScreenExecutor(Installer.java:88) at com.install4j.runtime.installer.Installer.runInProcess(Installer.java:57) at com.install4j.runtime.installer.Installer.main(Installer.java:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85) at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:62)
ํ์ฌ ์ฐ๋ฆฌ๋ ๊ธ๊ผด ์ข
์์ฑ์ ์ค์นํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค.
apt install fontconfig
๊ทธ๋ฌ๋์ด ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ณ ๊ฐ์ด Oracle jdk์์ AdoptOpenJDK๋ก ์ ํ ํ ๋ ๋์์ ๋ณ๊ฒฝํ๋ฉฐ ํธํ์ฑ ๋ฌธ์ ๋ก ๋จ์ ์์ต๋๋ค.
ํ์ด JDK์ ๊ธ๊ผด ๊ตฌ์ฑ์ ๋ฒ๋ค๋ก ์ ๊ณตํ๊ณ ์ถ๊ฐ ๋ฒ์ ์์ ์์ ํ๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๊น?
๊ฑด๋ฐฐ,
๋ฐฐํฌ : jdk8u181-b13 Linux x64
ํฐ ์๋ฆฌ๋ก ์๊ฐํ๋ฉด์ด ๋ฌธ์ ๋ Java 11 ๋๋ 8u ํ๋ก์ ํธ์ ํจ์น๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด์ด ์ง์์ ๋ฐฑ ํฌํธํ๊ธฐ ์ํด ์ ์คํธ๋ฆผ์ผ๋ก ์ด๋ํด์ผํ๋ ๋ฌธ์ ์ฒ๋ผ ๋ณด์ ๋๋ค.
์ค์น ํ๋ก๊ทธ๋จ ๋ฌธ์ ์ผ ์๋ ์์ต๋๋ค.
@karianna ์ค์น ํ๋ก๊ทธ๋จ์ด JEditorPane.setText()
๋ถํธ ์คํธ๋ฉํ๊ณ ์ด ์ฝ๋ ๊ฒฝ๋ก๋ฅผ ํต๊ณผํฉ๋๋ค.
java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) at sun.awt.FontConfiguration.init(FontConfiguration.java:107) at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774) at
Adopt OpenJDK๊ฐ ์ ๊ณตํด์ผํ๋ ๊ธ๊ผด ๋๋ ํ ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค.
Java 11์์ 8u ํ๋ก์ ํธ๋ก ๋ฐฑ ํฌํธ ํ ์ ์๋ค๋ฉด ์ข์ต๋๋ค.
ํฐ ์๋ฆฌ๋ก ์๊ฐํ๋ฉด์ด ๋ฌธ์ ๋ Java 11 ๋๋ 8u ํ๋ก์ ํธ์ ํจ์น๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํด์ด ์ง์์ ๋ฐฑ ํฌํธํ๊ธฐ ์ํด ์ ์คํธ๋ฆผ์ผ๋ก ์ด๋ํด์ผํ๋ ๋ฌธ์ ์ฒ๋ผ ๋ณด์ ๋๋ค.
์ค์น ํ๋ก๊ทธ๋จ ๋ฌธ์ ์ผ ์๋ ์์ต๋๋ค.
์๋ ํ์ธ์ @karianna ์๊ฒฌ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋จ๊ธฐ (์ฃผ) ๋๋ ์ฅ๊ธฐ (๊ฐ์)์ ๊ฐ์ด์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋ ๊ฒ์ผ๋ก ์์๋๋ ์ผ์ ์ด ์์ต๋๊น?
์ด ์ ๋ณด๋ ๊ณ ๊ฐ ์ง์์ ๊ณํํ๊ณ ๋ถ์ ์ ์ธ ์ํฅ์ ์ค์ด๋ ๋ฐ ๋์์ด๋ฉ๋๋ค.
์ด ๋จ๊ณ์์๋ ์๋ง๋ ๋ ์ค๋ ๊ฑธ๋ฆด ๊ฒ์ ๋๋ค.
FontConfiguration์ NullPointerException์ ๋๋ค. java : 1264 ๋ Linux ๋ฒ์ ์ AdoptOpenJDK์ ํฌํจ๋์ง ์์ ๊ธ๊ผด ๊ตฌ์ฑ ํ์ผ ๋๋ฝ์ผ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ์์ธ์ ์ง์ ์ ์ธ ์์ธ์ ์ค์ ๊ธ๊ผด ํ์ผ์ด ๋๋ฝ ๋ ๊ฒ์ด ์๋๋ผ _configuration_ ํ์ผ์ด ๋๋ฝ ๋ ๊ฒ์ ๋๋ค.
AWT ๊ธ๊ผด ํ์ ์์คํ ์ด ์ด๊ธฐํ๋๋ฉด ์ฌ๊ธฐ์ ์ค๋ช ๋ ์ด๋ฆ ์ง์ ์ฒด๊ณ ๋ฐ ์ฐ์ ์์์ ๋ฐ๋ผ $ JAVA_HOME / lib์์ ๊ธ๊ผด ๊ตฌ์ฑ ํ์ผ์ ์ฐพ์ต๋๋ค. https://docs.oracle.com/javase/8/docs/technotes/guides /intl/fontconfig.html
JDK์์ ์ ๊ณตํ๋ ๊ธ๊ผด์ด์๊ณ OS ์ ๊ณต ๊ธ๊ผด์ ์ฌ์ฉ์ด ์๋๋๊ฑฐ๋ ๊ตฌ์ฑ๋์ง ์์ ๊ฒฝ์ฐ์๋ ์์ธ๋ฅผ ๋ฐ์์ํค์ง ์๊ณ ์ด๊ธฐํํ๋ ค๋ฉด AWT ๊ธ๊ผด ํ์ ์์คํ ์ ์ต์ ๊ตฌ์ฑ์ด ํ์ํฉ๋๋ค. $ JAVA_HOME / lib ์ fontconfig.properties ํ์ผ์ ๋ค์ ๋ ์ค์ ์ ๊ณตํ๋ฉด ์ต์ํ NullPointerException ๋ฌธ์ ๋ฅผ ์ํ ํ ์ ์์ต๋๋ค.
version=1
sequence.allfonts=default
_we_๋ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋๋ ๊ธ๊ผด ๋ง ์ฌ์ฉํ๋ฏ๋ก ์ฐ๋ฆฌ ์ํฉ์์ ๊ฐ๋ฅํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ธ๊ผด ํ์ ์์คํ ์ ์ด๊ธฐํํ๊ณ ๋์ค์ ๋ฌธ์ ์์ด ํด๋์ค ๊ฒฝ๋ก์์ ์์ฒด ๊ธ๊ผด์๋ก๋ ํ ์ ์์ต๋๋ค. JDK์ ํจ๊ป ๋ฒ๋ค๋ก ์ ๊ณต๋๊ฑฐ๋ ์ด์ ์ฒด์ ์์ ์ ๊ณตํ๋ ์ค์ ๊ธ๊ผด์ ์ ๊ณตํ๊ธฐ ์ํด JDK์ ์์กดํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๊ณ ํ๋ฉด ์ด๋ค ์ผ์ด ๋ฐ์ํ๊ณ YMMV๊ฐ ๋ฐ์ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
fontconfig 2 : 2.13.1 (์์น ๋ฆฌ๋ ์ค์์)๊ณผ ๊ฐ์ ๋ฌธ์ ์ ๋๋ค. fontconfig ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋์ผ๋ก๋ก๋ํ๋ ค๊ณ ํ๋๋ฐ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: /usr/lib/libfontconfig.so.1.12.0: /usr/lib/libfontconfig.so.1.12.0: undefined symbol: FT_Done_MM_Var
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
...
ํฌํจ ๋ jre/lib/amd64/libfreetype.so.6
๊ฐ ์์คํ
fontconfig์ ํธํ๋์ง ์์์ ์๋ฏธํฉ๋๋ค. jre/lib/amd64/libfreetype.so.6
์ ๊ฑฐํ๊ณ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
@jarnbjo ์๋ฃจ์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. FontConfiguration์ NullPointerException ๋ฌธ์ ๋ฅผ ์ํ ํ ์์์์ต๋๋ค. alphine Linux์ java : 1264
ํ์ฌ ์ง๋ฉด
Caused by: java.lang.NullPointerException: null
hub_1 | at sun.awt.FcFontManager.getDefaultPlatformFont(FcFontManager.java:76)
hub_1 | at sun.font.SunFontManager$2.run(SunFontManager.java:433)
hub_1 | at java.security.AccessController.doPrivileged(Native Method)
hub_1 | at sun.font.SunFontManager.<init>(SunFontManager.java:376)
hub_1 | at sun.awt.FcFontManager.<init>(FcFontManager.java:35)
hub_1 | at sun.awt.X11FontManager.<init>(X11FontManager.java:57)
hub_1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
hub_1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
hub_1 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
hub_1 | at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
hub_1 | at java.lang.Class.newInstance(Class.java:442)
hub_1 | at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
hub_1 | at java.security.AccessController.doPrivileged(Native Method)
hub_1 | at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
hub_1 | at sun.java2d.SunGraphicsEnvironment.getFontManagerForSGE(SunGraphicsEnvironment.java:190)
hub_1 | at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:224)
hub_1 | at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:252)
hub_1 | at sun.java2d.HeadlessGraphicsEnvironment.getAvailableFontFamilyNames(HeadlessGraphicsEnvironment.java:94)
hub_1 | at net.sf.jasperreports.engine.util.JRGraphEnvInitializer.initializeGraphEnv(JRGraphEnvInitializer.java:57)
๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
๋ฐฐํฌ : jdk8u202-b08 Linux x64
CentOS 6 ๋ฐ 7์ fontconfig ๋ฐ urw-fonts ํจํค์ง๋ฅผ ์ค์นํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์๋
ํ์ธ์ @ keertz04 ์์ค ์ฝ๋๋ก ๋๋ฒ๊น
ํ ๋๋ ๊ฐ์ ์ผ์ ๊ฒฝํํ์ต๋๋ค. fontconfig.properties๋ฅผ ์ ๊ณตํ๋ฉด FontConfiguration์์ NPE๋ฅผ ์ ๊ฑฐ ํ ์ ์์ง๋ง ์์คํ
๊ธ๊ผด์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณด์ฌ์ค๋๋ก ๋ ๋ค๋ฅธ NPE๋ฅผ ๋ฐ๊ฒฌํ์ผ๋ฉฐ ๊ธฐ๋ณธ ํ๋ซํผ ๊ธ๊ผด์ ๊ฐ์ ธ ์ค๋ ค๊ณ ํ๋ฉด ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค.
ํ์ฌ๋ ์ฌ์ ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ fontconfig
๋ฅผ ์ค์นํฉ๋๋ค.
install4j๋ฅผ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ์ํด ์ต์ ๋ฆด๋ฆฌ์ค 7.0.9์ ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค.
Added a workaround for an InternalError when a bundled JRE could not find fonts on Linux
https://www.ej-technologies.com/download/install4j/changelog.html
์ฐ๋ฆฌ ํ์์ด ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ์ง ์์์ต๋๋ค.ํ์ง๋ง ์ฌ๊ธฐ์์ฃผ์ ํ ๊ฐ์น๊ฐ์์ ๊ฒ ๊ฐ์ต๋๋ค.
fontconfig ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ํด +1ํ๊ณ fontconfig.properties๋ฅผ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค. (jdk8u202-b08)
@ xinyi9 install4j ๋ฆด๋ฆฌ์ค ๋
ธํธ์ ์
java.lang.NullPointerException
at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774)
at sun.font.SunFontManager$2.run(SunFontManager.java:431)
.....
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:62)
์ด๊ฒ์ jdk8u192-b12๋ฅผ ์ฌ์ฉํ๋ x86_64 Clearlinux 4.14.21-380.lts์ ์์ต๋๋ค.
ํ์ฌ ์ง๋ฉด
```
์์ธ : java.lang.NullPointerException : null
hub_1 | sun.awt.FcFontManager.getDefaultPlatformFont (FcFontManager.java:76)
hub_1 | sun.font.SunFontManager $ 2.run (SunFontManager.java:433)
@ keertz04 ๋ fontconfig๋ฅผ ์ค์นํ๊ณ fontconfig.properties๋ฅผ ์ถ๊ฐ ํ ํ ๋์๊ฒ ๋์ผํฉ๋๋ค.
๊ทธ๋์ ๊ณ ์ฐ์์ ๊ณ ์ ๋์ง ์์์ต๋๋ค.
adoptopenjdk/openjdk11-openj9:jdk-11.0.7_10_openj9-0.20.0-alpine-slim
๋๋ ๋จ์ง ์คํํด์ผํ๋ค.
apk add --no-cache fontconfig ttf-dejavu
Ubuntu 16.04 ์๋ฒ์ fontconfig
๋ฅผ ์ค์นํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ๋คํํ fontconfig.properties
์ ์ถ๊ฐ ํ ํ์
$ sudo apt-get install fontconfig
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
fontconfig-config fonts-dejavu-core libfontconfig1
The following NEW packages will be installed:
fontconfig fontconfig-config fonts-dejavu-core libfontconfig1
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/1398 kB of archives.
After this operation, 4490 kB of additional disk space will be used.
fonts-dejavu-core
๋ ์ค์ํ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๊ฒ ์์ด๋ ๋ ๋ค๋ฅธ ์์ธ๊ฐ ๋ฐ์ํฉ๋๋ค.
JRE 11 ์ฌ์ฉ (์, JDK๊ฐ ์๋ JRE ๋ค์ด๋ก๋) :
$ java -version
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.7+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.7+10, mixed mode)
์ด๋ฏธ์ง๋ฅผ java : 8๋ก ๋์ฒดํ์ญ์์ค
Red Hat 7.7์์๋ ์ฒ์์๋ ๊ธฐ์จ์์ด fontconfig.properties ์์ฑ์ ์๋ํ์ต๋๋ค.
fontconfig๋ฅผ ์ค์นํ์ง๋ง urw-fonts๋ ์ค์นํ์ง ์์์ต๋๋ค.
๋์ฒด ํจํค์ง urw-base35-fonts๋ฅผ ์ค์นํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
Red Hat 7.7์์๋ ์ฒ์์๋ ๊ธฐ์จ์์ด fontconfig.properties ์์ฑ์ ์๋ํ์ต๋๋ค.
fontconfig๋ฅผ ์ค์นํ์ง๋ง urw-fonts๋ ์ค์นํ์ง ์์์ต๋๋ค.
๋์ฒด ํจํค์ง urw-base35-fonts๋ฅผ ์ค์นํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
์๋ ํ์ธ์,
์ ์๊ฒ๋ ๋น ์ง fontconfig๋ฅผ ์ค์นํ๊ณ $ JAVA_HOME / lib์์ ์์ ์ธ๊ธ ํ fontconfig.properties๋ฅผ ์๊ฐํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ์ต๋๋ค.
๋ด ํ๊ฒฝ :
OpenJDK ๋ฐํ์ ํ๊ฒฝ AdoptOpenJDK (๋น๋ 14.0.1 + 7)
fontconfig-2.13.0-4.3.el7.x86_64
@jarnbjo ์๋ฃจ์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. FontConfiguration์ NullPointerException ๋ฌธ์ ๋ฅผ ์ํ ํ ์์์์ต๋๋ค. alphine Linux์ java : 1264
ํ์ฌ ์ง๋ฉด
Caused by: java.lang.NullPointerException: null hub_1 | at sun.awt.FcFontManager.getDefaultPlatformFont(FcFontManager.java:76) hub_1 | at sun.font.SunFontManager$2.run(SunFontManager.java:433) hub_1 | at java.security.AccessController.doPrivileged(Native Method) hub_1 | at sun.font.SunFontManager.<init>(SunFontManager.java:376) hub_1 | at sun.awt.FcFontManager.<init>(FcFontManager.java:35) hub_1 | at sun.awt.X11FontManager.<init>(X11FontManager.java:57) hub_1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) hub_1 | at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) hub_1 | at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) hub_1 | at java.lang.reflect.Constructor.newInstance(Constructor.java:423) hub_1 | at java.lang.Class.newInstance(Class.java:442) hub_1 | at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83) hub_1 | at java.security.AccessController.doPrivileged(Native Method) hub_1 | at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) hub_1 | at sun.java2d.SunGraphicsEnvironment.getFontManagerForSGE(SunGraphicsEnvironment.java:190) hub_1 | at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:224) hub_1 | at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:252) hub_1 | at sun.java2d.HeadlessGraphicsEnvironment.getAvailableFontFamilyNames(HeadlessGraphicsEnvironment.java:94) hub_1 | at net.sf.jasperreports.engine.util.JRGraphEnvInitializer.initializeGraphEnv(JRGraphEnvInitializer.java:57)
๋์์ ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
๋ฐฐํฌ : jdk8u202-b08 Linux x64
์๋ ํ์ธ์,์ด github ์ค๋ ๋๋ฅผ๋ณด๊ณ ๋ฐค์ ํ๋ณตํ๊ฒ ๋ง๋ค ๋๊น์ง ๋ฉฐ์น ์ ๊ณ ์ํ์ต๋๋ค.
https://github.com/corretto/corretto-11/issues/124#issuecomment -675629775
Linux ๋ฒ์ AdoptOpenJDK / openjdk-support # 70์๋ ๊ธ๊ผด์ด ์์ต๋๋ค.
adoptopenjdk/openjdk11-openj9:jdk-11.0.7_10_openj9-0.20.0-alpine-slim
๋๋ ๋จ์ง ์คํํด์ผํ๋ค.
apk add --no-cache fontconfig ttf-dejavu
Docker ์ปจํ ์ด๋๊ฐ openjdk : 8-jre-alpine ์์ ๋น๋ ๋ ๊ฒฝ์ฐ์๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
CentOS 6 ๋ฐ 7์ fontconfig ๋ฐ urw-fonts ํจํค์ง๋ฅผ ์ค์นํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.