ServerManagementApp.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package com.leanwo.management;
  2. import java.io.PrintWriter;
  3. import java.io.StringWriter;
  4. import javax.swing.JFrame;
  5. import javax.swing.JOptionPane;
  6. import javax.swing.SwingUtilities;
  7. import org.slf4j.Logger;
  8. import org.slf4j.LoggerFactory;
  9. import org.springframework.beans.factory.annotation.Value;
  10. import org.springframework.boot.SpringApplication;
  11. import org.springframework.boot.autoconfigure.SpringBootApplication;
  12. import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
  13. import org.springframework.context.annotation.ImportResource;
  14. import com.leanwo.management.util.ProgramStopUtil;
  15. @SpringBootApplication
  16. @EnableEurekaServer
  17. @ImportResource("applicationContext.xml")
  18. public class ServerManagementApp {
  19. private static Logger logger = LoggerFactory.getLogger(ServerManagementApp.class);
  20. public static void main(String[] args) {
  21. System.setProperty("java.awt.headless", "false");
  22. SpringApplication.run(ServerManagementApp.class, args);
  23. JvmExitMonit.jvmExitHook();
  24. ProgramStopUtil.generateStopBat();
  25. boolean isAutoRun = false;
  26. if (args != null && args.length > 0) {
  27. if (args[0].equals("autoRun")) {
  28. isAutoRun = true;
  29. }
  30. for (String arg : args) {
  31. logger.info("输出参数:" + arg);
  32. }
  33. }
  34. if (isAutoRun) {
  35. logger.info("程序管理器将会自动运行。");
  36. }
  37. final boolean isAutoRunFinal = isAutoRun;
  38. SwingUtilities.invokeLater(new Runnable() {
  39. @Override
  40. public void run() {
  41. try {
  42. final MainFrame mainFrame = new MainFrame(isAutoRunFinal);
  43. mainFrame.pack();
  44. mainFrame.setVisible(true);
  45. // 免配置模式的时候,启动以后界面最小化。
  46. if(isAutoRunFinal) {
  47. mainFrame.setExtendedState(JFrame.ICONIFIED);
  48. }
  49. } catch (final Exception ex) {
  50. ex.printStackTrace();
  51. final StringWriter sr = new StringWriter();
  52. ex.printStackTrace(new PrintWriter(sr));
  53. JOptionPane.showMessageDialog(null, sr.toString(), "Error", JOptionPane.ERROR_MESSAGE);
  54. }
  55. }
  56. });
  57. }
  58. }