eclipse中Client/Server程序生成exe

本文介绍了一个简单的Java聊天室应用,包括Server端和Client端的实现。Server端负责监听指定端口并管理客户端连接,Client端则提供图形界面供用户输入消息,并通过网络发送到Server端。

先建两个Java Project项目,一个写Client,一个写Server端程序,程序大致为一个Server端建立监听某个端口,多个Client端可以连接,实现如下:

1.      Server端

importjava.io.*; 

importjava.net.*; 

importjava.util.*; 

 

publicclass SimpleChatServer { 

    ArrayList<PrintWriter>clientOutputStreams; 

    public static void main(String[]args){ 

        new SimpleChatServer().go(); 

    } 

   public class ClientHandler implementsRunnable{ 

        BufferedReader reader; 

        Socket sock; 

        public ClientHandler(SocketclientSocket){ 

            try{ 

                sock = clientSocket; 

                InputStreamReader isReader =new InputStreamReader(sock.getInputStream()); 

                reader = newBufferedReader(isReader); 

            }catch(Exception ex){ 

                ex.printStackTrace(); 

            } 

        } 

        public void run() { 

            String message; 

            try{ 

                while((message =reader.readLine()) != null){ 

                   System.out.println("read " + message); 

                    tellEveryone(message); 

                } 

            }catch(Exception ex){ 

                ex.printStackTrace(); 

            } 

        } 

    } 

     

    public void tellEveryone(Stringmessage){ 

        Iterator<PrintWriter> it =clientOutputStreams.iterator(); 

        while(it.hasNext()){ 

            try{ 

                PrintWriter writer =(PrintWriter)it.next(); 

                writer.println(message); 

                writer.flush(); 

            }catch(Exception ex){ 

                ex.printStackTrace(); 

            } 

        } 

    } 

  public void go(){ 

        clientOutputStreams = newArrayList<PrintWriter>(); 

        try{ 

            ServerSocket serverSock = newServerSocket(2310); 

            while(true){ 

                Socket clientSocket =serverSock.accept(); 

                PrintWriter writer = newPrintWriter(clientSocket.getOutputStream()); 

               clientOutputStreams.add(writer);  

                Thread t = new Thread(newClientHandler(clientSocket)); 

                t.start(); 

                System.out.println("got aconnection"); 

            } 

        }catch(Exception ex){ 

            ex.printStackTrace(); 

        } 

    } 

}

2.      Client端

importjava.io.*; 

importjava.net.*; 

importjavax.swing.*; 

importjava.awt.*; 

importjava.awt.event.*; 

importjavax.swing.JOptionPane; 

 

publicclass SimpleChatClient { 

    JTextArea incoming; 

    JTextField outgoing;  

    BufferedReader reader; 

    PrintWriter writer; 

    Socket sock; 

    static String clientName; 

 

    public static void main(String[] args){ 

        SimpleChatClient client = newSimpleChatClient(); 

        clientName = JOptionPane.showInputDialog("Pleaseinput the client name :"); 

        client.go(); 

    } 

 

    public void go() { 

        // build GUI 

        JFrame frame = new JFrame(clientName +"'s Chat Client"); 

        JPanel mainPanel = new JPanel(); 

        incoming = new JTextArea(15,20);   

        incoming.setLineWrap(true); 

        incoming.setWrapStyleWord(true); 

        incoming.setEditable(false); 

 

        JScrollPane qScroller = newJScrollPane(incoming); 

        qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); 

       qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); 

 

        outgoing = new JTextField(20); 

 

        JButton sendButton = newJButton("Send"); 

        sendButton.addActionListener(newSendButtonListener()); 

 

        mainPanel.add(qScroller); 

        mainPanel.add(outgoing); 

        mainPanel.add(sendButton); 

 

        setUpNetworking(); 

        Thread readerThread = new Thread(newIncomingReader()); 

        readerThread.start(); 

 

       frame.getContentPane().add(BorderLayout.CENTER, mainPanel); 

        frame.setSize(400,500); 

        frame.setVisible(true); 

 

    } // close go 

 

    private void setUpNetworking() {  

        try { 

            sock = newSocket("127.0.0.1", 2310); 

            InputStreamReader streamReader =new InputStreamReader(sock.getInputStream()); 

            reader = newBufferedReader(streamReader);  

 

            writer = newPrintWriter(sock.getOutputStream()); 

 

            System.out.println("networkingestablished"); 

        } catch(IOException ex) { 

            ex.printStackTrace(); 

        } 

    } // close setUpNetworking   

 

    public class SendButtonListener implementsActionListener { 

        public void actionPerformed(ActionEventev) { 

            try { 

               writer.println(clientName+" says:\n"+outgoing.getText()); 

                writer.flush(); 

            } catch(Exception ex) { 

                ex.printStackTrace(); 

            } 

           outgoing.setText(""); 

            outgoing.requestFocus(); 

        } 

    }  //close SendButtonListener inner class 

 

    public class IncomingReader implementsRunnable { 

        public void run() { 

            String message = null;             

            try { 

                while ((message =reader.readLine()) != null) {                        

                   System.out.println("read " + message); 

                    incoming.append(message +"\n"); 

                } // close while 

            } catch(Exception ex){ex.printStackTrace();} 

        } // close run 

    } // close inner class     

}

下面以Server端生成exe为例进行讲解:

1.导出jar文件

选中你的项目---然后右击弹出选项列表---选择Export---Java---jarfile---next---browser(选择jar的存放路径)---next---next(不管太多继续下一步)---browser(选择你程序的主类--OK)---finish

2.安装exe4j

利用exe4j这个软件转换jar文件为exe文件,exe4j下载地址:http://www.ej-technologies.com/download/exe4j/files.html.

3.exe4j安装完成后

1.运行后直接点Next. 

2.选择第二项“JAR in EXE mode”,之后点击Next. 

3.在General---Short name of your application框中输入你的应用程序的名字(随便即可),在Directories---Outputdirectory框中输入生成exe后的保存路径,然后Next. 

4.在Excutable name框中输入将要生成的exe的名字,“Icon File”是应用程序显示的小图标,不选也行.继续Next. 

5.必须先配置Class-Path,点击+号添加文件,即jar文件,如果有用到其它资源需要把资源一起添加进去. 

6.General --- Main Class选择主类. 

7.Java Version --- Minimum version(低版本必须填写),Maximumversion(高版本可以为空),如果都有填写那么高版本的值必须大于低版本的值. 

8.勾选Allow JREs with a beta version number以及Only allow JDKs andno JREs.接着Next.到这一步你可以直接finish.这样就把jar转换成exe文件了.你可以点击Click Here to Start the Application按钮测试生成的文件.

Client端生成exe步骤同上。

[root@yfw ~]# cd /opt/openfire/enterprise/Spark-master [root@yfw Spark-master]# scp root@124.71.230.244:/opt/openfire/enterprise/Spark-master/spark-client.zip ./spark-client.zip The authenticity of host '124.71.230.244 (124.71.230.244)' can't be established. ECDSA key fingerprint is SHA256:U5XbNIctslcKEL1Lv354cOWi7Hsq2syxemRKcCOXqug. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '124.71.230.244' (ECDSA) to the list of known hosts. spark-client.zip 100% 68MB 353.3MB/s 00:00 [root@yfw Spark-master]# unzip spark-client.zip -d spark-client-local Archive: spark-client.zip creating: spark-client-local/spark-client/distribution/ creating: spark-client-local/spark-client/distribution/resources/ creating: spark-client-local/spark-client/distribution/resources/sounds/ inflating: spark-client-local/spark-client/distribution/resources/sounds/presence_changed.wav inflating: spark-client-local/spark-client/distribution/resources/sounds/incoming.wav inflating: spark-client-local/spark-client/distribution/resources/sounds/outgoing.wav inflating: spark-client-local/spark-client/distribution/resources/sounds/bell.wav inflating: spark-client-local/spark-client/distribution/resources/sounds/chat_request.wav inflating: spark-client-local/spark-client/distribution/resources/systeminfo.dll inflating: spark-client-local/spark-client/distribution/resources/Info.plist inflating: spark-client-local/spark-client/distribution/resources/jniwrap.lic inflating: spark-client-local/spark-client/distribution/resources/startup.bat inflating: spark-client-local/spark-client/distribution/resources/jniwrap.dll inflating: spark-client-local/spark-client/distribution/resources/startup.sh creating: spark-client-local/spark-client/distribution/plugins/ inflating: spark-client-local/spark-client/distribution/plugins/growl.jar inflating: spark-client-local/spark-client/distribution/plugins/fileupload.jar inflating: spark-client-local/spark-client/distribution/plugins/roar.jar inflating: spark-client-local/spark-client/distribution/plugins/meet.jar inflating: spark-client-local/spark-client/distribution/plugins/tictactoe.jar inflating: spark-client-local/spark-client/distribution/plugins/fastpath.jar inflating: spark-client-local/spark-client/distribution/plugins/transferguard.jar inflating: spark-client-local/spark-client/distribution/plugins/translator.jar inflating: spark-client-local/spark-client/distribution/plugins/flashing.jar inflating: spark-client-local/spark-client/distribution/plugins/apple.jar inflating: spark-client-local/spark-client/distribution/plugins/spelling.jar inflating: spark-client-local/spark-client/distribution/plugins/reversi.jar creating: spark-client-local/spark-client/distribution/documentation/ inflating: spark-client-local/spark-client/distribution/documentation/ide-vscode-setup.html inflating: spark-client-local/spark-client/distribution/documentation/ide-intellij-setup.html creating: spark-client-local/spark-client/distribution/documentation/spark guide/ creating: spark-client-local/spark-client/distribution/documentation/spark guide/images/ extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image021.png extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image033.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/images/image015.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/images/image003.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/images/image027.png extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image007.png extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image001.png extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image009.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/images/image031.png extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image011.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/images/image025.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/images/image017.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/images/image029.png extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image023.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/images/filelist.xml extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image013.png extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image005.png extracting: spark-client-local/spark-client/distribution/documentation/spark guide/images/image019.png inflating: spark-client-local/spark-client/distribution/documentation/spark guide/Spark.default.properties.guide.html inflating: spark-client-local/spark-client/distribution/documentation/spark.doap inflating: spark-client-local/spark-client/distribution/documentation/changelog.html inflating: spark-client-local/spark-client/distribution/documentation/sparkplug_compile.html creating: spark-client-local/spark-client/distribution/documentation/images/ inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-8.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/VSCode-4.png inflating: spark-client-local/spark-client/distribution/documentation/images/VSCode-6.png inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-3.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/VSCode-2.png inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-10.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/login-dialog.png inflating: spark-client-local/spark-client/distribution/documentation/images/eclipse-maven-step-1.png inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-6.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-1.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/contact-list.png inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-9.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-5.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/VSCode-1.png inflating: spark-client-local/spark-client/distribution/documentation/images/chat-room.png inflating: spark-client-local/spark-client/distribution/documentation/images/eclipse-maven-step-5.png inflating: spark-client-local/spark-client/distribution/documentation/images/VSCode-5.png inflating: spark-client-local/spark-client/distribution/documentation/images/eclipse-maven-step-6.png inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-2.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/banner-spring.gif inflating: spark-client-local/spark-client/distribution/documentation/images/eclipse-maven-step-2.png inflating: spark-client-local/spark-client/distribution/documentation/images/eclipse-maven-step-3.png inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-7.JPG inflating: spark-client-local/spark-client/distribution/documentation/images/eclipse-maven-step-4.png inflating: spark-client-local/spark-client/distribution/documentation/images/VSCode-3.png extracting: spark-client-local/spark-client/distribution/documentation/images/banner-spark.gif inflating: spark-client-local/spark-client/distribution/documentation/images/IntelliJ-4.JPG inflating: spark-client-local/spark-client/distribution/documentation/sample_plugin_repository.xml inflating: spark-client-local/spark-client/distribution/documentation/changes.xsl inflating: spark-client-local/spark-client/distribution/documentation/ide-eclipse-setup.html inflating: spark-client-local/spark-client/distribution/documentation/style.css inflating: spark-client-local/spark-client/distribution/documentation/LICENSE.html inflating: spark-client-local/spark-client/distribution/documentation/builder.jar inflating: spark-client-local/spark-client/distribution/documentation/sparkplug_dev_guide.html inflating: spark-client-local/spark-client/distribution/documentation/README.html creating: spark-client-local/spark-client/distribution/xtra/ creating: spark-client-local/spark-client/distribution/xtra/emoticons/ extracting: spark-client-local/spark-client/distribution/xtra/emoticons/sparkEmoticonSet.zip extracting: spark-client-local/spark-client/distribution/xtra/emoticons/GTalk.AdiumEmoticonset.zip extracting: spark-client-local/spark-client/distribution/xtra/emoticons/Default.adiumemoticonset.zip extracting: spark-client-local/spark-client/distribution/xtra/emoticons/POPO.adiumemoticonset.zip creating: spark-client-local/spark-client/distribution/lib/ inflating: spark-client-local/spark-client/distribution/lib/jxmpp-jid-1.0.3.jar inflating: spark-client-local/spark-client/distribution/lib/smack-debug-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/bcpkix-jdk18on-1.78.1.jar inflating: spark-client-local/spark-client/distribution/lib/flatlaf-3.1.1.jar inflating: spark-client-local/spark-client/distribution/lib/minidns-core-1.0.5.jar creating: spark-client-local/spark-client/distribution/lib/linux/ inflating: spark-client-local/spark-client/distribution/lib/linux/libcivil.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjng722.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnvpx.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnscreencapture.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnspeex.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnpulseaudio.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnvideo4linux2.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnawtrenderer.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnopus.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnffmpeg.so inflating: spark-client-local/spark-client/distribution/lib/linux/libjnportaudio.so inflating: spark-client-local/spark-client/distribution/lib/jna-platform-5.12.1.jar inflating: spark-client-local/spark-client/distribution/lib/jaxen-1.2.0.jar inflating: spark-client-local/spark-client/distribution/lib/slf4j-api-1.8.0-beta4.jar inflating: spark-client-local/spark-client/distribution/lib/bcutil-jdk18on-1.78.1.jar inflating: spark-client-local/spark-client/distribution/lib/swingx-all-1.6.5-1.jar inflating: spark-client-local/spark-client/distribution/lib/smack-xmlparser-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/smack-legacy-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/smack-tcp-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/commons-lang3-3.15.0.jar inflating: spark-client-local/spark-client/distribution/lib/xstream-1.4.20.jar creating: spark-client-local/spark-client/distribution/lib/mac/ inflating: spark-client-local/spark-client/distribution/lib/mac/libjng722.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libSystemUtilities.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libjnspeex.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/JavaSoundStream.fix.jar inflating: spark-client-local/spark-client/distribution/lib/mac/libjnscreencapture.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libjnopus.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libjnffmpeg.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libjnportaudio.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libjnquicktime.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libjnawtrenderer.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libjnmaccoreaudio.jnilib inflating: spark-client-local/spark-client/distribution/lib/mac/libjnvpx.jnilib inflating: spark-client-local/spark-client/distribution/lib/bctls-jdk18on-1.78.1.jar inflating: spark-client-local/spark-client/distribution/lib/dom4j-2.1.4.jar inflating: spark-client-local/spark-client/distribution/lib/spark-core-3.0.3-SNAPSHOT.jar inflating: spark-client-local/spark-client/distribution/lib/smack-java8-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/smack-debug-slf4j-4.4.8.jar creating: spark-client-local/spark-client/distribution/lib/windows64/ inflating: spark-client-local/spark-client/distribution/lib/windows64/jng722.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnvpx.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnffmpeg.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/civil.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnopus.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jndirectshow.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnwasapi.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnspeex.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnwincoreaudio.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnscreencapture.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnportaudio.dll inflating: spark-client-local/spark-client/distribution/lib/windows64/jnawtrenderer.dll inflating: spark-client-local/spark-client/distribution/lib/mxparser-1.2.2.jar creating: spark-client-local/spark-client/distribution/lib/linux64/ inflating: spark-client-local/spark-client/distribution/lib/linux64/libcivil.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjng722.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnvpx.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libodbcinst.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnscreencapture.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libodbc.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnspeex.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnpulseaudio.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnvideo4linux2.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnawtrenderer.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnopus.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnffmpeg.so inflating: spark-client-local/spark-client/distribution/lib/linux64/libjnportaudio.so inflating: spark-client-local/spark-client/distribution/lib/jaxb-api-2.3.1.jar inflating: spark-client-local/spark-client/distribution/lib/httpcore5-h2-5.2.4.jar inflating: spark-client-local/spark-client/distribution/lib/smack-resolver-javax-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/jxmpp-core-1.0.3.jar inflating: spark-client-local/spark-client/distribution/lib/install4j-runtime-11.0.4.jar inflating: spark-client-local/spark-client/distribution/lib/jna-5.12.1.jar inflating: spark-client-local/spark-client/distribution/lib/smack-sasl-javax-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/javax.activation-api-1.2.0.jar inflating: spark-client-local/spark-client/distribution/lib/smack-extensions-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/smack-im-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/smack-xmlparser-stax-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/thumbnailator-0.4.20.jar inflating: spark-client-local/spark-client/distribution/lib/xmlpull-1.1.3.1.jar inflating: spark-client-local/spark-client/distribution/lib/LoboBrowser-1.0.0.jar creating: spark-client-local/spark-client/distribution/lib/windows/ inflating: spark-client-local/spark-client/distribution/lib/windows/jng722.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnvpx.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnffmpeg.dll inflating: spark-client-local/spark-client/distribution/lib/windows/civil.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnopus.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jndirectshow.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnwasapi.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnspeex.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnwincoreaudio.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnscreencapture.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnportaudio.dll inflating: spark-client-local/spark-client/distribution/lib/windows/jnawtrenderer.dll inflating: spark-client-local/spark-client/distribution/lib/httpclient5-5.2.3.jar inflating: spark-client-local/spark-client/distribution/lib/httpcore5-5.2.4.jar inflating: spark-client-local/spark-client/distribution/lib/smack-experimental-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/smack-streammanagement-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/hsluv-0.2.jar inflating: spark-client-local/spark-client/distribution/lib/smack-core-4.4.8.jar inflating: spark-client-local/spark-client/distribution/lib/jxmpp-util-cache-1.0.3.jar inflating: spark-client-local/spark-client/distribution/lib/bcprov-jdk18on-1.78.1.jar creating: spark-client-local/spark-client/distribution/security/ creating: spark-client-local/spark-client/distribution/bin/ inflating: spark-client-local/spark-client/distribution/bin/startup.bat inflating: spark-client-local/spark-client/distribution/bin/startup.sh [root@yfw Spark-master]# cd spark-client-local/distribution -bash: cd: spark-client-local/distribution: No such file or directory [root@yfw Spark-master]# ls -la 总用量 69312 drwxr-xr-x 10 root root 4096 10月 30 16:05 . drwxr-xr-x 4 openfire openfire 4096 10月 30 14:58 .. drwxr-xr-x 4 root root 4096 10月 30 15:33 core drwxr-xr-x 4 root root 4096 10月 30 15:33 distribution -rw-r--r-- 1 root root 311 10月 21 17:54 .editorconfig drwxr-xr-x 3 root root 4096 10月 21 17:54 emoticons -rw-r--r-- 1 root root 911 10月 21 17:54 .gitattributes drwxr-xr-x 3 root root 4096 10月 21 17:54 .github -rw-r--r-- 1 root root 441 10月 21 17:54 .gitignore drwxr-xr-x 2 root root 4096 10月 21 17:54 .idea -rw-r--r-- 1 root root 11357 10月 21 17:54 LICENSE.txt drwxr-xr-x 22 root root 4096 10月 21 17:54 plugins -rw-r--r-- 1 root root 5049 10月 21 17:54 pom.xml -rw-r--r-- 1 root root 2592 10月 21 17:54 README.md -rw-r--r-- 1 root root 455 10月 21 17:54 SECURITY.md drwxr-xr-x 3 root root 4096 10月 30 15:36 spark-client drwxr-xr-x 3 root root 4096 10月 30 16:05 spark-client-local -rw-r--r-- 1 root root 70884318 10月 30 16:04 spark-client.zip -rw-r--r-- 1 root root 1901 10月 21 17:54 .transifex.yml [root@yfw Spark-master]# cd spark-client-local/spark-client/distribution [root@yfw distribution]# ls -la 总用量 36 drwxr-xr-x 9 root root 4096 10月 30 15:38 . drwxr-xr-x 3 root root 4096 10月 30 16:05 .. drwxr-xr-x 2 root root 4096 10月 30 15:33 bin drwxr-xr-x 4 root root 4096 10月 21 17:54 documentation drwxr-xr-x 7 root root 4096 10月 21 17:54 lib drwxr-xr-x 2 root root 4096 10月 21 17:54 plugins drwxr-xr-x 3 root root 4096 10月 30 15:33 resources drwxr-xr-x 2 root root 4096 10月 30 15:38 security drwxr-xr-x 3 root root 4096 10月 30 15:33 xtra [root@yfw distribution]#
最新发布
10-31
[root@yfw ~]# cd /opt/openfire/enterprise/Spark-master [root@yfw Spark-master]# cd /opt/openfire/enterprise/Spark-master/spark-client/distribution [root@yfw distribution]# java -cp "lib/*:resources" org.jivesoftware.Spark 错误: 在类 org.jivesoftware.Spark 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application [root@yfw distribution]# java -cp "lib/*:resources" org.jivesoftware.launcher.Startup Warning: no working directory set. This might cause updated data to be missed. Please set a system property 'appdir' to the location where Spark is installed to correct this. java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:1349) at java.awt.EventQueue.invokeAndWait(EventQueue.java:1324) at org.jivesoftware.Spark.startup(Spark.java:186) 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 org.jivesoftware.launcher.Startup.start(Startup.java:75) at org.jivesoftware.launcher.Startup.main(Startup.java:31) Caused by: java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it. at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) at java.awt.Window.<init>(Window.java:536) at java.awt.Frame.<init>(Frame.java:420) at java.awt.Frame.<init>(Frame.java:385) at javax.swing.JFrame.<init>(JFrame.java:189) at org.jivesoftware.Spark.lambda$startup$0(Spark.java:188) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [root@yfw distribution]# cd /opt/openfire/enterprise/Spark-master [root@yfw Spark-master]# zip -r spark-client.zip spark-client/distribution/ adding: spark-client/distribution/ (stored 0%) adding: spark-client/distribution/resources/ (stored 0%) adding: spark-client/distribution/resources/sounds/ (stored 0%) adding: spark-client/distribution/resources/sounds/presence_changed.wav (deflated 39%) adding: spark-client/distribution/resources/sounds/incoming.wav (deflated 31%) adding: spark-client/distribution/resources/sounds/outgoing.wav (deflated 31%) adding: spark-client/distribution/resources/sounds/bell.wav (deflated 13%) adding: spark-client/distribution/resources/sounds/chat_request.wav (deflated 11%) adding: spark-client/distribution/resources/systeminfo.dll (deflated 66%) adding: spark-client/distribution/resources/Info.plist (deflated 64%) adding: spark-client/distribution/resources/jniwrap.lic (deflated 19%) adding: spark-client/distribution/resources/startup.bat (deflated 57%) adding: spark-client/distribution/resources/jniwrap.dll (deflated 79%) adding: spark-client/distribution/resources/startup.sh (deflated 51%) adding: spark-client/distribution/plugins/ (stored 0%) adding: spark-client/distribution/plugins/growl.jar (deflated 0%) adding: spark-client/distribution/plugins/fileupload.jar (deflated 0%) adding: spark-client/distribution/plugins/roar.jar (deflated 0%) adding: spark-client/distribution/plugins/meet.jar (deflated 0%) adding: spark-client/distribution/plugins/tictactoe.jar (deflated 0%) adding: spark-client/distribution/plugins/fastpath.jar (deflated 0%) adding: spark-client/distribution/plugins/transferguard.jar (deflated 1%) adding: spark-client/distribution/plugins/translator.jar (deflated 0%) adding: spark-client/distribution/plugins/flashing.jar (deflated 2%) adding: spark-client/distribution/plugins/apple.jar (deflated 0%) adding: spark-client/distribution/plugins/spelling.jar (deflated 0%) adding: spark-client/distribution/plugins/reversi.jar (deflated 0%) adding: spark-client/distribution/documentation/ (stored 0%) adding: spark-client/distribution/documentation/ide-vscode-setup.html (deflated 65%) adding: spark-client/distribution/documentation/ide-intellij-setup.html (deflated 68%) adding: spark-client/distribution/documentation/spark guide/ (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/ (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image021.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image033.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image015.png (deflated 1%) adding: spark-client/distribution/documentation/spark guide/images/image003.png (deflated 13%) adding: spark-client/distribution/documentation/spark guide/images/image027.png (deflated 0%) adding: spark-client/distribution/documentation/spark guide/images/image007.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image001.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image009.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image031.png (deflated 3%) adding: spark-client/distribution/documentation/spark guide/images/image011.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image025.png (deflated 1%) adding: spark-client/distribution/documentation/spark guide/images/image017.png (deflated 1%) adding: spark-client/distribution/documentation/spark guide/images/image029.png (deflated 6%) adding: spark-client/distribution/documentation/spark guide/images/image023.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/filelist.xml (deflated 74%) adding: spark-client/distribution/documentation/spark guide/images/image013.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image005.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image019.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/Spark.default.properties.guide.html (deflated 90%) adding: spark-client/distribution/documentation/spark.doap (deflated 89%) adding: spark-client/distribution/documentation/changelog.html (deflated 81%) adding: spark-client/distribution/documentation/sparkplug_compile.html (deflated 56%) adding: spark-client/distribution/documentation/images/ (stored 0%) adding: spark-client/distribution/documentation/images/IntelliJ-8.JPG (deflated 21%) adding: spark-client/distribution/documentation/images/VSCode-4.png (deflated 8%) adding: spark-client/distribution/documentation/images/VSCode-6.png (deflated 6%) adding: spark-client/distribution/documentation/images/IntelliJ-3.JPG (deflated 27%) adding: spark-client/distribution/documentation/images/VSCode-2.png (deflated 18%) adding: spark-client/distribution/documentation/images/IntelliJ-10.JPG (deflated 26%) adding: spark-client/distribution/documentation/images/login-dialog.png (deflated 0%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-1.png (deflated 4%) adding: spark-client/distribution/documentation/images/IntelliJ-6.JPG (deflated 52%) adding: spark-client/distribution/documentation/images/IntelliJ-1.JPG (deflated 43%) adding: spark-client/distribution/documentation/images/contact-list.png (deflated 9%) adding: spark-client/distribution/documentation/images/IntelliJ-9.JPG (deflated 43%) adding: spark-client/distribution/documentation/images/IntelliJ-5.JPG (deflated 26%) adding: spark-client/distribution/documentation/images/VSCode-1.png (deflated 12%) adding: spark-client/distribution/documentation/images/chat-room.png (deflated 13%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-5.png (deflated 3%) adding: spark-client/distribution/documentation/images/VSCode-5.png (deflated 16%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-6.png (deflated 5%) adding: spark-client/distribution/documentation/images/IntelliJ-2.JPG (deflated 32%) adding: spark-client/distribution/documentation/images/banner-spring.gif (deflated 14%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-2.png (deflated 6%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-3.png (deflated 4%) adding: spark-client/distribution/documentation/images/IntelliJ-7.JPG (deflated 18%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-4.png (deflated 6%) adding: spark-client/distribution/documentation/images/VSCode-3.png (deflated 13%) adding: spark-client/distribution/documentation/images/banner-spark.gif (stored 0%) adding: spark-client/distribution/documentation/images/IntelliJ-4.JPG (deflated 55%) adding: spark-client/distribution/documentation/sample_plugin_repository.xml (deflated 69%) adding: spark-client/distribution/documentation/changes.xsl (deflated 59%) adding: spark-client/distribution/documentation/ide-eclipse-setup.html (deflated 67%) adding: spark-client/distribution/documentation/style.css (deflated 67%) adding: spark-client/distribution/documentation/LICENSE.html (deflated 67%) adding: spark-client/distribution/documentation/builder.jar (deflated 30%) adding: spark-client/distribution/documentation/sparkplug_dev_guide.html (deflated 75%) adding: spark-client/distribution/documentation/README.html (deflated 63%) adding: spark-client/distribution/xtra/ (stored 0%) adding: spark-client/distribution/xtra/emoticons/ (stored 0%) adding: spark-client/distribution/xtra/emoticons/sparkEmoticonSet.zip (stored 0%) adding: spark-client/distribution/xtra/emoticons/GTalk.AdiumEmoticonset.zip (stored 0%) adding: spark-client/distribution/xtra/emoticons/Default.adiumemoticonset.zip (stored 0%) adding: spark-client/distribution/xtra/emoticons/POPO.adiumemoticonset.zip (stored 0%) adding: spark-client/distribution/lib/ (stored 0%) adding: spark-client/distribution/lib/jxmpp-jid-1.0.3.jar (deflated 13%) adding: spark-client/distribution/lib/smack-debug-4.4.8.jar (deflated 16%) adding: spark-client/distribution/lib/bcpkix-jdk18on-1.78.1.jar (deflated 13%) adding: spark-client/distribution/lib/flatlaf-3.1.1.jar (deflated 5%) adding: spark-client/distribution/lib/minidns-core-1.0.5.jar (deflated 9%) adding: spark-client/distribution/lib/linux/ (stored 0%) adding: spark-client/distribution/lib/linux/libcivil.so (deflated 72%) adding: spark-client/distribution/lib/linux/libjng722.so (deflated 55%) adding: spark-client/distribution/lib/linux/libjnvpx.so (deflated 60%) adding: spark-client/distribution/lib/linux/libjnscreencapture.so (deflated 55%) adding: spark-client/distribution/lib/linux/libjnspeex.so (deflated 46%) adding: spark-client/distribution/lib/linux/libjnpulseaudio.so (deflated 72%) adding: spark-client/distribution/lib/linux/libjnvideo4linux2.so (deflated 76%) adding: spark-client/distribution/lib/linux/libjnawtrenderer.so (deflated 53%) adding: spark-client/distribution/lib/linux/libjnopus.so (deflated 45%) adding: spark-client/distribution/lib/linux/libjnffmpeg.so (deflated 68%) adding: spark-client/distribution/lib/linux/libjnportaudio.so (deflated 58%) adding: spark-client/distribution/lib/jna-platform-5.12.1.jar (deflated 15%) adding: spark-client/distribution/lib/jaxen-1.2.0.jar (deflated 12%) adding: spark-client/distribution/lib/slf4j-api-1.8.0-beta4.jar (deflated 12%) adding: spark-client/distribution/lib/bcutil-jdk18on-1.78.1.jar (deflated 15%) adding: spark-client/distribution/lib/swingx-all-1.6.5-1.jar (deflated 11%) adding: spark-client/distribution/lib/smack-xmlparser-4.4.8.jar (deflated 24%) adding: spark-client/distribution/lib/smack-legacy-4.4.8.jar (deflated 14%) adding: spark-client/distribution/lib/smack-tcp-4.4.8.jar (deflated 10%) adding: spark-client/distribution/lib/commons-lang3-3.15.0.jar (deflated 10%) adding: spark-client/distribution/lib/xstream-1.4.20.jar (deflated 12%) adding: spark-client/distribution/lib/mac/ (stored 0%) adding: spark-client/distribution/lib/mac/libjng722.jnilib (deflated 77%) adding: spark-client/distribution/lib/mac/libSystemUtilities.jnilib (deflated 89%) adding: spark-client/distribution/lib/mac/libjnspeex.jnilib (deflated 55%) adding: spark-client/distribution/lib/mac/JavaSoundStream.fix.jar (deflated 58%) adding: spark-client/distribution/lib/mac/libjnscreencapture.jnilib (deflated 79%) adding: spark-client/distribution/lib/mac/libjnopus.jnilib (deflated 56%) adding: spark-client/distribution/lib/mac/libjnffmpeg.jnilib (deflated 64%) adding: spark-client/distribution/lib/mac/libjnportaudio.jnilib (deflated 56%) adding: spark-client/distribution/lib/mac/libjnquicktime.jnilib (deflated 79%) adding: spark-client/distribution/lib/mac/libjnawtrenderer.jnilib (deflated 79%) adding: spark-client/distribution/lib/mac/libjnmaccoreaudio.jnilib (deflated 60%) adding: spark-client/distribution/lib/mac/libjnvpx.jnilib (deflated 58%) adding: spark-client/distribution/lib/bctls-jdk18on-1.78.1.jar (deflated 12%) adding: spark-client/distribution/lib/dom4j-2.1.4.jar (deflated 6%) adding: spark-client/distribution/lib/spark-core-3.0.3-SNAPSHOT.jar (deflated 7%) adding: spark-client/distribution/lib/smack-java8-4.4.8.jar (deflated 18%) adding: spark-client/distribution/lib/smack-debug-slf4j-4.4.8.jar (deflated 21%) adding: spark-client/distribution/lib/windows64/ (stored 0%) adding: spark-client/distribution/lib/windows64/jng722.dll (deflated 56%) adding: spark-client/distribution/lib/windows64/jnvpx.dll (deflated 60%) adding: spark-client/distribution/lib/windows64/jnffmpeg.dll (deflated 64%) adding: spark-client/distribution/lib/windows64/civil.dll (deflated 58%) adding: spark-client/distribution/lib/windows64/jnopus.dll (deflated 46%) adding: spark-client/distribution/lib/windows64/jndirectshow.dll (deflated 71%) adding: spark-client/distribution/lib/windows64/jnwasapi.dll (deflated 70%) adding: spark-client/distribution/lib/windows64/jnspeex.dll (deflated 46%) adding: spark-client/distribution/lib/windows64/jnwincoreaudio.dll (deflated 67%) adding: spark-client/distribution/lib/windows64/jnscreencapture.dll (deflated 53%) adding: spark-client/distribution/lib/windows64/jnportaudio.dll (deflated 54%) adding: spark-client/distribution/lib/windows64/jnawtrenderer.dll (deflated 54%) adding: spark-client/distribution/lib/mxparser-1.2.2.jar (deflated 5%) adding: spark-client/distribution/lib/linux64/ (stored 0%) adding: spark-client/distribution/lib/linux64/libcivil.so (deflated 71%) adding: spark-client/distribution/lib/linux64/libjng722.so (deflated 55%) adding: spark-client/distribution/lib/linux64/libjnvpx.so (deflated 65%) adding: spark-client/distribution/lib/linux64/libodbcinst.so (deflated 56%) adding: spark-client/distribution/lib/linux64/libjnscreencapture.so (deflated 64%) adding: spark-client/distribution/lib/linux64/libodbc.so (deflated 61%) adding: spark-client/distribution/lib/linux64/libjnspeex.so (deflated 47%) adding: spark-client/distribution/lib/linux64/libjnpulseaudio.so (deflated 74%) adding: spark-client/distribution/lib/linux64/libjnvideo4linux2.so (deflated 78%) adding: spark-client/distribution/lib/linux64/libjnawtrenderer.so (deflated 60%) adding: spark-client/distribution/lib/linux64/libjnopus.so (deflated 44%) adding: spark-client/distribution/lib/linux64/libjnffmpeg.so (deflated 67%) adding: spark-client/distribution/lib/linux64/libjnportaudio.so (deflated 60%) adding: spark-client/distribution/lib/jaxb-api-2.3.1.jar (deflated 12%) adding: spark-client/distribution/lib/httpcore5-h2-5.2.4.jar (deflated 10%) adding: spark-client/distribution/lib/smack-resolver-javax-4.4.8.jar (deflated 22%) adding: spark-client/distribution/lib/jxmpp-core-1.0.3.jar (deflated 14%) adding: spark-client/distribution/lib/install4j-runtime-11.0.4.jar (deflated 9%) adding: spark-client/distribution/lib/jna-5.12.1.jar (deflated 2%) adding: spark-client/distribution/lib/smack-sasl-javax-4.4.8.jar (deflated 23%) adding: spark-client/distribution/lib/javax.activation-api-1.2.0.jar (deflated 7%) adding: spark-client/distribution/lib/smack-extensions-4.4.8.jar (deflated 14%) adding: spark-client/distribution/lib/smack-im-4.4.8.jar (deflated 11%) adding: spark-client/distribution/lib/smack-xmlparser-stax-4.4.8.jar (deflated 21%) adding: spark-client/distribution/lib/thumbnailator-0.4.20.jar (deflated 15%) adding: spark-client/distribution/lib/xmlpull-1.1.3.1.jar (deflated 12%) adding: spark-client/distribution/lib/LoboBrowser-1.0.0.jar (deflated 10%) adding: spark-client/distribution/lib/windows/ (stored 0%) adding: spark-client/distribution/lib/windows/jng722.dll (deflated 55%) adding: spark-client/distribution/lib/windows/jnvpx.dll (deflated 61%) adding: spark-client/distribution/lib/windows/jnffmpeg.dll (deflated 65%) adding: spark-client/distribution/lib/windows/civil.dll (deflated 56%) adding: spark-client/distribution/lib/windows/jnopus.dll (deflated 46%) adding: spark-client/distribution/lib/windows/jndirectshow.dll (deflated 63%) adding: spark-client/distribution/lib/windows/jnwasapi.dll (deflated 70%) adding: spark-client/distribution/lib/windows/jnspeex.dll (deflated 46%) adding: spark-client/distribution/lib/windows/jnwincoreaudio.dll (deflated 62%) adding: spark-client/distribution/lib/windows/jnscreencapture.dll (deflated 53%) adding: spark-client/distribution/lib/windows/jnportaudio.dll (deflated 61%) adding: spark-client/distribution/lib/windows/jnawtrenderer.dll (deflated 52%) adding: spark-client/distribution/lib/httpclient5-5.2.3.jar (deflated 9%) adding: spark-client/distribution/lib/httpcore5-5.2.4.jar (deflated 11%) adding: spark-client/distribution/lib/smack-experimental-4.4.8.jar (deflated 17%) adding: spark-client/distribution/lib/smack-streammanagement-4.4.8.jar (deflated 21%) adding: spark-client/distribution/lib/hsluv-0.2.jar (deflated 13%) adding: spark-client/distribution/lib/smack-core-4.4.8.jar (deflated 13%) adding: spark-client/distribution/lib/jxmpp-util-cache-1.0.3.jar (deflated 17%) adding: spark-client/distribution/lib/bcprov-jdk18on-1.78.1.jar (deflated 13%) adding: spark-client/distribution/security/ (stored 0%) adding: spark-client/distribution/bin/ (stored 0%) adding: spark-client/distribution/bin/startup.bat (deflated 57%) adding: spark-client/distribution/bin/startup.sh (deflated 51%) [root@yfw Spark-master]# scp root@your-server-ip:/opt/openfire/enterprise/Spark-master/spark-client.zip ./ ssh: Could not resolve hostname your-server-ip: Name or service not known [root@yfw Spark-master]#
10-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值