Linux(CentOS)上でJava Swing系プログラムが中身真っ白になる Weblogic インストーラが使えない

Hyper-Vで作ったCent OSサーバにJava 8u321とWeblogic 12.2.1.4をインストールしようとしたけど、インストーラがこんなことになってなにもできないという問題に遭遇した。

[xxx@localhost Downloads]$ java -jar ./fmw_12.2.1.4.0_wls_lite_generic.jar 

さんざんWebで調べたけどわからないし、StackOverflowに質問投稿したけど、閲覧数すら2桁ぐらいだし回答も大してつかないし困った。しかしこれ、CentOSにXRDPをyumでインストールしてWindowsのリモートデスクトップでアクセスするとどうしても発生するのに、hyper-vのコンソールからアクセスするとなぜか動くし、試しにVNCでデスクトップアクセスしても動く。以下はVNCでデスクトップつないでまったく同じことをやった画面。

切り分けのために、超簡単なJava Swingプログラムを動かしてみる。以下はテストした内容。

$ vim ./test.java

import javax.swing.*;    
class LabelExample      
    {  
    public static void main(String args[])  
        {  
        JFrame f= new JFrame("Label Example");  
        JLabel l1,l2;  
        l1=new JLabel("First Label.");  
        l1.setBounds(50,50, 100,30);  
        l2=new JLabel("Second Label.");  
        l2.setBounds(50,100, 100,30);  
        f.add(l1); f.add(l2);  
        f.setSize(300,300);  
        f.setLayout(null);  
        f.setVisible(true);  
    }      
}          

$ javac ./test.java
$ java -classpath ./ LabelExample

テスト結果:VNC接続の場合

テスト結果:Windowsのリモートデスクトップからの場合

同じだ。Swing自体のアプリがちゃんと動いてないんだ。というのはわかったけど、ログが出てくるわけでもなし次の調べ方もわからないので断念するかな。次に何を見ればいいのかな。そういえば、最初にCentOSに入ってたopenjdkはアンインストールしたうえでOracle Javaの1.8をインストールして使ってるので今の挙動になっているけど、openjdkだとこの挙動ってどうなるだろう。

$ sudo yum install java-1.8.0-openjdk
$ java -version
openjdk version "1.8.0_322"
OpenJDK Runtime Environment (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (build 25.322-b06, mixed mode)

まあ予想通り変わらない。深遠な世界っぽいのでここで諦める。

Leave a Comment

Your email address will not be published. Required fields are marked *