博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java判断部署项目使用的服务器类型
阅读量:6031 次
发布时间:2019-06-20

本文共 8807 字,大约阅读时间需要 29 分钟。

有两种方式

1、项目引入portal-kernel.jar、项目运行时使用

根据返回boolean值判断类型!

2、自己写java类

package webService.ZFGX.service;import org.apache.log4j.Logger;import webService.ZFGX.utils.ServerUtils;/** * 判断服务器类型 * @author landa * */public class PDFWQ {    private static Logger _log = Logger.getLogger(ServerUtils.class);    public static final String GERONIMO_CLASS = "/org/apache/geronimo/system/main/Daemon.class";    public static final String JBOSS_CLASS = "/org/jboss/Main.class";    public static final String JETTY_CLASS = "/org/mortbay/jetty/Server.class";    public static final String JONAS_CLASS = "/org/objectweb/jonas/server/Server.class";    public static final String OC4J_CLASS = "/oracle/jsp/oc4jutil/Oc4jUtil.class";    public static final String ORION_CLASS = "/com/evermind/server/ApplicationServer.class";    public static final String PRAMATI_CLASS = "/com/pramati/Server.class";    public static final String RESIN_CLASS = "/com/caucho/server/resin/Resin.class";    public static final String REXIP_CLASS = "/com/tcc/Main.class";    public static final String SUN7_CLASS = "/com/iplanet/ias/tools/cli/IasAdminMain.class";    public static final String SUN8_CLASS = "/com/sun/enterprise/cli/framework/CLIMain.class";    public static final String TOMCAT_CLASS = "/org/apache/catalina/startup/Bootstrap.class";    public static final String WEBLOGIC_CLASS = "/weblogic/Server.class";    public static final String WEBSPHERE_CLASS = "/com/ibm/websphere/product/VersionInfo.class";        private String _serverId;    private Boolean _geronimo;    private Boolean _jBoss;    private Boolean _jetty;    private Boolean _jonas;    private Boolean _oc4j;    private Boolean _orion;    private Boolean _pramati;    private Boolean _resin;    private Boolean _rexIP;    private Boolean _sun7;    private Boolean _sun8;    private Boolean _tomcat;    private Boolean _webLogic;    private Boolean _webSphere;        private PDFWQ() {    }        private static PDFWQ  _instance = new PDFWQ();        public static String getServerId() {        PDFWQ  sd = _instance;        if (sd._serverId == null) {            if (ServerUtils.isGeronimo()) {                sd._serverId = "geronimo";            } else if (ServerUtils.isJBoss()) {                sd._serverId = "jboss";            } else if (ServerUtils.isJOnAS()) {                sd._serverId = "jonas";            } else if (ServerUtils.isOC4J()) {                sd._serverId = "oc4j";            } else if (ServerUtils.isOrion()) {                sd._serverId = "orion";            } else if (ServerUtils.isResin()) {                sd._serverId = "resin";            } else if (ServerUtils.isWebLogic()) {                sd._serverId = "weblogic";            } else if (ServerUtils.isWebSphere()) {                sd._serverId = "websphere";            }            if (ServerUtils.isJetty()) {                if (sd._serverId == null) {                    sd._serverId = "jetty";                } else {                    sd._serverId += "-jetty";                }            } else if (ServerUtils.isTomcat()) {                if (sd._serverId == null) {                    sd._serverId = "tomcat";                } else {                    sd._serverId += "-tomcat";                }            }            if (_log.isInfoEnabled()) {                _log.info("Detected server " + sd._serverId);            }            if (sd._serverId == null) {                throw new RuntimeException("Server is not supported");            }        }        return sd._serverId;    }            public static boolean isGeronimo() {        PDFWQ sd = _instance;        if (sd._geronimo == null) {            Class c = sd.getClass();            if (c.getResource(GERONIMO_CLASS) != null) {                sd._geronimo = Boolean.TRUE;            } else {                sd._geronimo = Boolean.FALSE;            }        }        return sd._geronimo.booleanValue();    }    public static boolean isJBoss() {        PDFWQ sd = _instance;        if (sd._jBoss == null) {            Class c = sd.getClass();            if (c.getResource(JBOSS_CLASS) != null) {                sd._jBoss = Boolean.TRUE;            } else {                sd._jBoss = Boolean.FALSE;            }        }        return sd._jBoss.booleanValue();    }    public static boolean isJetty() {        PDFWQ sd = _instance;        if (sd._jetty == null) {            Class c = sd.getClass();            if (c.getResource(JETTY_CLASS) != null) {                sd._jetty = Boolean.TRUE;            } else {                sd._jetty = Boolean.FALSE;            }        }        return sd._jetty.booleanValue();    }    public static boolean isJOnAS() {        PDFWQ sd = _instance;        if (sd._jonas == null) {            Class c = sd.getClass();            if (c.getResource(JONAS_CLASS) != null) {                sd._jonas = Boolean.TRUE;            } else {                sd._jonas = Boolean.FALSE;            }        }        return sd._jonas.booleanValue();    }    public static boolean isOC4J() {        PDFWQ sd = _instance;        if (sd._oc4j == null) {            Class c = sd.getClass();            if (c.getResource(OC4J_CLASS) != null) {                sd._oc4j = Boolean.TRUE;            } else {                sd._oc4j = Boolean.FALSE;            }        }        return sd._oc4j.booleanValue();    }    public static boolean isOrion() {        PDFWQ sd = _instance;        if (sd._orion == null) {            Class c = sd.getClass();            if (c.getResource(ORION_CLASS) != null) {                sd._orion = Boolean.TRUE;            } else {                sd._orion = Boolean.FALSE;            }        }        return sd._orion.booleanValue();    }    public static boolean isPramati() {        PDFWQ sd = _instance;        if (sd._pramati == null) {            Class c = sd.getClass();            if (c.getResource(PRAMATI_CLASS) != null) {                sd._pramati = Boolean.TRUE;            } else {                sd._pramati = Boolean.FALSE;            }        }        return sd._pramati.booleanValue();    }    public static boolean isResin() {        PDFWQ sd = _instance;        if (sd._resin == null) {            Class c = sd.getClass();            if (c.getResource(RESIN_CLASS) != null) {                sd._resin = Boolean.TRUE;            } else {                sd._resin = Boolean.FALSE;            }        }        return sd._resin.booleanValue();    }    public static boolean isRexIP() {        PDFWQ sd = _instance;        if (sd._rexIP == null) {            Class c = sd.getClass();            if (c.getResource(REXIP_CLASS) != null) {                sd._rexIP = Boolean.TRUE;            } else {                sd._rexIP = Boolean.FALSE;            }        }        return sd._rexIP.booleanValue();    }    public static boolean isSun() {        if (isSun7() || isSun8()) {            return true;        } else {            return false;        }    }    public static boolean isSun7() {        PDFWQ sd = _instance;        if (sd._sun7 == null) {            Class c = sd.getClass();            if (c.getResource(SUN7_CLASS) != null) {                sd._sun7 = Boolean.TRUE;            } else {                sd._sun7 = Boolean.FALSE;            }        }        return sd._sun7.booleanValue();    }    public static boolean isSun8() {        PDFWQ sd = _instance;        if (sd._sun8 == null) {            Class c = sd.getClass();            if (c.getResource(SUN8_CLASS) != null) {                sd._sun8 = Boolean.TRUE;            } else {                sd._sun8 = Boolean.FALSE;            }        }        return sd._sun8.booleanValue();    }    public static boolean isTomcat() {        PDFWQ sd = _instance;        if (sd._tomcat == null) {            Class c = sd.getClass();            if (c.getResource(TOMCAT_CLASS) != null) {                sd._tomcat = Boolean.TRUE;            } else {                sd._tomcat = Boolean.FALSE;            }        }        return sd._tomcat.booleanValue();    }    public static boolean isWebLogic() {        PDFWQ sd = _instance;        if (sd._webLogic == null) {            Class c = sd.getClass();            if (c.getResource(WEBLOGIC_CLASS) != null) {                sd._webLogic = Boolean.TRUE;            } else {                sd._webLogic = Boolean.FALSE;            }        }        return sd._webLogic.booleanValue();    }    public static boolean isWebSphere() {        PDFWQ sd = _instance;        if (sd._webSphere == null) {            Class c = sd.getClass();            if (c.getResource(WEBSPHERE_CLASS) != null) {                sd._webSphere = Boolean.TRUE;            } else {                sd._webSphere = Boolean.FALSE;            }        }        return sd._webSphere.booleanValue();    }    }

然后判断方式与方法一一致!

 

转载于:https://www.cnblogs.com/vitre/p/5546171.html

你可能感兴趣的文章
Fabric遇到问题和解决方法总结
查看>>
微信公众号开发之网页中及时获取当前用户Openid及注意事项
查看>>
MyBatis Generator的使用
查看>>
第十六章:数据绑定(八)
查看>>
Laravel5.1 实现第三方登录认证(包括微博、QQ、微信、豆瓣)
查看>>
LDAP落地实战(一):OpenLDAP部署及管理维护
查看>>
Unity3D默认的快捷键
查看>>
自抗凝透析器研究取得系列进展
查看>>
Choerodon 猪齿鱼 0.14 发布,开源企业级数字化服务平台
查看>>
mybatis-plus 3.1.0 发布,划重点一大波升级
查看>>
配置maven
查看>>
C# 添加、修改和删除PDF书签
查看>>
Python标准库(待续)
查看>>
从 源码 谈谈 redux compose
查看>>
《Spring Boot开发:从0到1》大纲结构
查看>>
【JAVA零基础入门系列】Day4 变量与常量
查看>>
centos7.4系统的虚拟机网络配置教程
查看>>
HyperLedger Fabric ca正式环境部署
查看>>
LeetCode 74 Search a 2D Matrix(搜索2D矩阵)
查看>>
计算机网络基础:这是一份详细 HTTP 学习指南
查看>>