diff --git a/designer-base/src/com/fr/design/env/LocalDesignerWorkspaceInfo.java b/designer-base/src/com/fr/design/env/LocalDesignerWorkspaceInfo.java index 87e556d92..648f3c233 100644 --- a/designer-base/src/com/fr/design/env/LocalDesignerWorkspaceInfo.java +++ b/designer-base/src/com/fr/design/env/LocalDesignerWorkspaceInfo.java @@ -1,5 +1,7 @@ package com.fr.design.env; +import com.fr.general.NameObject; +import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; @@ -63,6 +65,8 @@ public class LocalDesignerWorkspaceInfo implements DesignerWorkspaceInfo { @Override public Object clone() throws CloneNotSupportedException { - return null; + LocalDesignerWorkspaceInfo object = (LocalDesignerWorkspaceInfo)super.clone(); + + return object; } } diff --git a/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java b/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java index 7266cf0d7..8954f483b 100644 --- a/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java +++ b/designer-base/src/com/fr/design/env/RemoteDesignerWorkspaceInfo.java @@ -1,6 +1,7 @@ package com.fr.design.env; import com.fr.security.SecurityToolbox; +import com.fr.stable.StableUtils; import com.fr.stable.StringUtils; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; @@ -75,7 +76,10 @@ public class RemoteDesignerWorkspaceInfo implements DesignerWorkspaceInfo { @Override public Object clone() throws CloneNotSupportedException { - - return null; + + RemoteDesignerWorkspaceInfo object = (RemoteDesignerWorkspaceInfo)super.clone(); + + object.connection = (WorkspaceConnection)StableUtils.cloneObject(this.connection); + return object; } } diff --git a/designer-base/src/com/fr/start/server/FineEmbedServerActivator.java b/designer-base/src/com/fr/start/server/FineEmbedServerActivator.java index 1d76fd3fe..2292da99a 100644 --- a/designer-base/src/com/fr/start/server/FineEmbedServerActivator.java +++ b/designer-base/src/com/fr/start/server/FineEmbedServerActivator.java @@ -13,8 +13,8 @@ import com.fr.workspace.WorkContext; import org.apache.catalina.Context; import org.apache.catalina.LifecycleException; import org.apache.catalina.Wrapper; -import org.apache.catalina.connector.Connector; -import org.apache.catalina.loader.VirtualWebappLoader; + +import org.apache.catalina.loader.WebappLoader; import org.apache.catalina.startup.Tomcat; import java.io.File; @@ -112,7 +112,7 @@ public class FineEmbedServerActivator extends Activator { * Created by juhaoyu on 2018/6/5. * 自定义的tomcat loader,主要用于防止内置服务器再加载一遍class */ - private static class FRTomcatLoader extends VirtualWebappLoader { + private static class FRTomcatLoader extends WebappLoader { @Override public ClassLoader getClassLoader() { diff --git a/designer-realize/src/com/fr/start/Designer.java b/designer-realize/src/com/fr/start/Designer.java index aad3991ab..fad29deb3 100644 --- a/designer-realize/src/com/fr/start/Designer.java +++ b/designer-realize/src/com/fr/start/Designer.java @@ -37,7 +37,6 @@ import com.fr.design.menu.ShortCut; import com.fr.design.module.DesignModuleFactory; import com.fr.design.utils.DesignUtils; - import com.fr.design.utils.concurrent.ThreadFactoryBuilder; import com.fr.design.utils.gui.GUICoreUtils; import com.fr.general.CloudCenter; @@ -97,15 +96,20 @@ public class Designer extends BaseDesigner { * @param args 参数 */ public static void main(String[] args) { + BuildContext.setBuildFilePath("/com/fr/stable/build.properties"); - preloadResource(); - SplashContext.getInstance().registerSplash(createSplash()); + // 如果端口被占用了 说明程序已经运行了一次,也就是说,已经建立一个监听服务器,现在只要给服务器发送命令就好了 if (DesignUtils.isStarted()) { DesignUtils.clientSend(args); return; } + + preloadResource(); + + SplashContext.getInstance().registerSplash(createSplash()); + SplashContext.getInstance().show(); Module designerRoot = ModuleContext.parseRoot("designer-startup.xml"); //传递启动参数