Docker image with X swing libs pre installed

15 Views Asked by At

I have Hello work Java app

package org.example;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.Border;
public class HelloWorldSwing {
  private static void createAndShowGUI() {
    JFrame jFrame = new JFrame("Hello World Swing Example");
    jFrame.setLayout(new FlowLayout());
    jFrame.setSize(500, 360);
    jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    JLabel label = new JLabel("Hello World Swing");
    Border border = BorderFactory.createLineBorder(Color.BLACK);
    label.setBorder(border);
    label.setPreferredSize(new Dimension(150, 100));

    label.setText("Hello World Swing");
    label.setHorizontalAlignment(JLabel.CENTER);
    label.setVerticalAlignment(JLabel.CENTER);

    jFrame.add(label);
    jFrame.setVisible(true);
  }

  public static void main(String[] args) {
    createAndShowGUI();
  }
}

When I am running this app on Docker I get error:

Attaching to app-1
app-1  | Exception in thread "main" java.lang.UnsatisfiedLinkError: /usr/local/openjdk-17/lib/libawt_xawt.so: libXext.so.6: cannot open shared object file: No such file or directory
app-1  |        at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
app-1  |        at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:384)
app-1  |        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:228)
app-1  |        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:170)
app-1  |        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389)
app-1  |        at java.base/java.lang.Runtime.load0(Runtime.java:755)
app-1  |        at java.base/java.lang.System.load(System.java:1953)

Does someone know proper Docker image with all libs on it?

0

There are 0 best solutions below