How to safely delete a web toolkit module?

Hello,

I created a web toolkit module and want to remove it and all connections to it. Simple deletion of the web toolkit module directory messes things up.

Thanks in advance.

Hi,

How to remove created modules was described here: https://www.cuba-platform.com/discuss/t/how-to-remove-desktop-module-and-portlet-module-from-project

Of course, the topic is old and might be obsolete. So let me share the recipe of how to simply discover which sources should be modified.

  1. Create a new project in CUBA Studio

  2. Open Help → Settings and enable the Keep local history of changes option. Save settings.

  3. Create web toolkit module.

  4. Close the project.

  5. In the list of projects select your project and press Show local history.

  6. Select the commit and press Show diff

Now you can observe all the changes made by Studio during new module creation.

Regards.

ShowLoclHistr

ShowDiff

HelpSettings

Hello Rostislav,

thanks for sharing your insights. I tried the steps you’ve described, properly removed all the lines listed in the diff tool and tried to open the manually modified project. The result:

  1. The project will show up in CUBA Studio and the build process succeeds:

[10:38:02.299] Ready
[10:38:51.137] Restarting the application server
:app-core:assembleDbScripts UP-TO-DATE
:app-core:dbScriptsArchive UP-TO-DATE
:app-global:compileJava UP-TO-DATE
:app-global:enhance UP-TO-DATE
:app-global:processResources UP-TO-DATE
:app-global:classes UP-TO-DATE
:app-global:jar UP-TO-DATE
:app-core:compileJava UP-TO-DATE
:app-core:processResources UP-TO-DATE
:app-core:classes UP-TO-DATE
:app-core:jar UP-TO-DATE
:app-core:sourceJar UP-TO-DATE
:app-core:assemble UP-TO-DATE
:app-core:cleanConf
:app-core:deploy
:app-web:buildScssThemes
:app-gui:compileJava UP-TO-DATE
:app-gui:processResources UP-TO-DATE
:app-gui:classes UP-TO-DATE
:app-gui:jar UP-TO-DATE
:app-web:compileJava UP-TO-DATE
:app-web:processResources
:app-web:classes
:app-web:jar
:app-web:sourceJar
:app-web:webArchive
:app-web:assemble
:app-web:cleanConf
:app-web:deploy
:start

BUILD SUCCESSFUL
  1. Tomcat successfully starts when triggering “run” button:

Listening for transport dt_socket at address: 8787
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Server version:        Apache Tomcat/8.5.9
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Server built:          Dec 5 2016 20:18:12 UTC
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Server number:         8.5.9.0
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: OS Name:               Windows 10
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: OS Version:            10.0
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Architecture:          amd64
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Java Home:             C:\Program Files\Java\jdk1.8.0_121\jre
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: JVM Version:           1.8.0_121-b13
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: JVM Vendor:            Oracle Corporation
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: CATALINA_BASE:         C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: CATALINA_HOME:         C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Djava.util.logging.config.file=C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat\conf\logging.properties
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Xmx512m
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Dfile.encoding=UTF-8
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Dlogback.configurationFile=../conf/logback.xml
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Dcom.sun.management.jmxremote
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Dcatalina.base=C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Dcatalina.home=C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.VersionLoggerListener log
INFORMATION: Command line argument: -Djava.io.tmpdir=C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat\temp
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFORMATION: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.8.0_121\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\Users\MK\AppData\Local\Microsoft\WindowsApps;;.
M?ñr 28, 2017 10:39:19 AM org.apache.coyote.AbstractProtocol init
INFORMATION: Initializing ProtocolHandler ["http-nio-8080"]
M?ñr 28, 2017 10:39:19 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMATION: Using a shared selector for servlet write/read
M?ñr 28, 2017 10:39:19 AM org.apache.coyote.AbstractProtocol init
INFORMATION: Initializing ProtocolHandler ["ajp-nio-8009"]
M?ñr 28, 2017 10:39:19 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFORMATION: Using a shared selector for servlet write/read
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.Catalina load
INFORMATION: Initialization processed in 722 ms
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.core.StandardService startInternal
INFORMATION: Starting service Catalina
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.core.StandardEngine startInternal
INFORMATION: Starting Servlet Engine: Apache Tomcat/8.5.9
M?ñr 28, 2017 10:39:19 AM org.apache.catalina.startup.HostConfig deployDirectory
INFORMATION: Deploying web application directory C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat\webapps\app
M?ñr 28, 2017 10:39:20 AM org.apache.catalina.core.ApplicationContext log
INFORMATION: Initializing AtmosphereFramework
M?ñr 28, 2017 10:39:20 AM org.apache.catalina.core.ApplicationContext log
INFORMATION: No Spring WebApplicationInitializer types detected on classpath
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFORMATION: Installed AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler mapped to context-path: /*
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFORMATION: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.PushAtmosphereHandler
M?ñr 28, 2017 10:39:21 AM org.atmosphere.util.IOUtils readServiceFile
INFORMATION: META-INF/services/org.atmosphere.cpr.AtmosphereFramework not found in class loader
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
INFORMATION: Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework initWebSocket
INFORMATION: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
M?ñr 28, 2017 10:39:21 AM org.atmosphere.container.JSR356AsyncSupport <init>
INFORMATION: JSR 356 Mapping path /{path}
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFORMATION: Installing Default AtmosphereInterceptors
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFORMATION: Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFORMATION:    org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFORMATION: Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Broadcaster Polling Wait Time 100
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Shared ExecutorService supported: true
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Messaging Thread Pool Size: Unlimited
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Async I/O Thread Pool Size: 200
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Invoke AtmosphereInterceptor on WebSocket message true
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: HttpSession supported: true
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: Apache Tomcat/8.5.9 using javax.servlet/3.0 and jsr356/WebSocket API
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework info
INFORMATION: Atmosphere Framework 2.2.9.vaadin2 started.
M?ñr 28, 2017 10:39:21 AM org.atmosphere.cpr.AtmosphereFramework interceptor
INFORMATION: Installed AtmosphereInterceptor  Track Message Size Interceptor using | with priority BEFORE_DEFAULT
10:39:21.561 INFO  c.h.cuba.core.sys.AppComponents - Using app components: [com.haulmont.cuba]
10:39:21.608 INFO  c.h.cuba.web.sys.WebAppContextLoader - Loading app properties from classpath:cuba-web-app.properties
10:39:21.890 INFO  c.h.c.c.s.CubaClassPathXmlApplicationContext - Refreshing com.haulmont.cuba.core.sys.CubaClassPathXmlApplicationContext@5dd8d281: startup date [Tue Mar 28 10:39:21 CEST 2017]; root of context hierarchy
10:39:24.900 INFO  c.h.c.w.s.r.WebRemoteProxyBeanCreator - Configuring proxy beans for local service invocations: [cuba_LoginService, cuba_ServerInfoService, cuba_UserSettingService, cuba_UserManagementService, cuba_DataService, cuba_ConfigStorageService, cuba_PersistenceManagerService, cuba_LockService, cuba_UserSessionService, cuba_FoldersService, cuba_EmailService, cuba_FileStorageService, cuba_EntitySnapshotService, cuba_UniqueNumbersService, cuba_LocalizedMessageService, cuba_ResourceService, cuba_ScheduledTasksService, cuba_EntityLogService, cuba_TestingService, cuba_ObjectsCacheManagerService, cuba_DomainDescriptionService, cuba_RelatedEntitiesService, cuba_EntitySqlGenerationService, cuba_NumberIdService, cuba_QueryResultsService, cuba_DynamicAttributesCacheService, cuba_EntityRestoreService, cuba_LocalFileExchangeService, cuba_EntityImportExportService, cuba_ScreenProfilerService, cuba_ServerTokenStore, cuba_IdpService]
10:39:25.652 INFO  c.h.chile.core.datatypes.Datatypes - Can't find /datatypes.xml, using default datatypes settings
10:39:27.392 INFO  c.h.c.c.s.CubaThreadPoolTaskScheduler - Initializing ExecutorService  'scheduler'
10:39:27.970 INFO  c.h.cuba.core.sys.jmx.MBeanExporter - Registering beans for JMX exposure: [cuba.cuba:type=ConfigStorage, cuba.cuba:type=CachingFacade, cuba.cuba:type=FileUploading, cuba.cuba:type=JmxNodeIdentifier, cuba.cuba:type=JmxLogControl, cuba.cuba:type=ClassLoaderManager, cuba.cuba:type=StatisticsCounter]
10:39:28.075 INFO  c.h.cuba.web.sys.WebAppContextLoader - AppContext initialized
M?ñr 28, 2017 10:39:28 AM org.apache.catalina.core.ApplicationContext log
INFORMATION: Initializing Spring FrameworkServlet 'dispatcher'
10:39:28.140 INFO  c.h.c.web.sys.CubaDispatcherServlet - FrameworkServlet 'dispatcher': initialization started
10:39:28.151 INFO  c.h.c.c.s.CubaXmlWebApplicationContext - Refreshing WebApplicationContext for namespace 'dispatcher-servlet': startup date [Tue Mar 28 10:39:28 CEST 2017]; parent: com.haulmont.cuba.core.sys.CubaClassPathXmlApplicationContext@5dd8d281
10:39:30.598 INFO  c.h.c.web.sys.CubaDispatcherServlet - FrameworkServlet 'dispatcher': initialization completed in 2457 ms
M?ñr 28, 2017 10:39:30 AM org.apache.catalina.core.ApplicationContext log
INFORMATION: Initializing Spring FrameworkServlet 'rest_api'
10:39:30.604 INFO  c.h.restapi.sys.CubaRestApiServlet - FrameworkServlet 'rest_api': initialization started
10:39:30.605 INFO  c.h.c.c.s.CubaXmlWebApplicationContext - Refreshing WebApplicationContext for namespace 'rest_api-servlet': startup date [Tue Mar 28 10:39:30 CEST 2017]; parent: com.haulmont.cuba.core.sys.CubaClassPathXmlApplicationContext@5dd8d281
10:39:32.672 INFO  c.h.restapi.sys.CubaRestApiServlet - FrameworkServlet 'rest_api': initialization completed in 2068 ms
M?ñr 28, 2017 10:39:32 AM org.apache.catalina.startup.HostConfig deployDirectory
INFORMATION: Deployment of web application directory C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat\webapps\app has finished in 12,742 ms
M?ñr 28, 2017 10:39:32 AM org.apache.catalina.startup.HostConfig deployDirectory
INFORMATION: Deploying web application directory C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat\webapps\app-core
M?ñr 28, 2017 10:39:32 AM org.apache.catalina.core.ApplicationContext log
INFORMATION: Initializing AtmosphereFramework
M?ñr 28, 2017 10:39:32 AM org.apache.catalina.core.ApplicationContext log
INFORMATION: No Spring WebApplicationInitializer types detected on classpath
10:39:32.860 INFO  c.h.cuba.core.sys.AppComponents - Using app components: [com.haulmont.cuba]
10:39:32.889 INFO  c.h.cuba.core.sys.AppContextLoader - Loading app properties from classpath:cuba-app.properties
10:39:32.897 INFO  c.h.cuba.core.sys.AppContextLoader - Loading app properties from classpath:com/company/brandingtest/app.properties
10:39:32.927 INFO  c.h.cuba.core.sys.AppContextLoader - DbmsType of the main database is set to hsql
10:39:33.288 INFO  c.h.c.c.s.p.PersistenceConfigProcessor - Creating file C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat\work\app-core\persistence.xml
10:39:33.343 INFO  c.h.c.c.s.CubaCoreApplicationContext - Refreshing com.haulmont.cuba.core.sys.CubaCoreApplicationContext@56601bc4: startup date [Tue Mar 28 10:39:33 CEST 2017]; root of context hierarchy
10:39:38.826 INFO  c.h.chile.core.datatypes.Datatypes - Can't find /datatypes.xml, using default datatypes settings
10:39:43.019 INFO  c.h.c.c.s.CubaThreadPoolTaskScheduler - Initializing ExecutorService  'scheduler'
10:39:43.308 INFO  c.h.cuba.core.sys.jmx.MBeanExporter - Registering beans for JMX exposure: [app-core.cuba:type=PersistenceManager, app-core.cuba:type=ConfigStorage, app-core.cuba:type=UserSessions, app-core.cuba:type=UniqueNumbers, app-core.cuba:type=Emailer, app-core.cuba:type=EntityLog, app-core.cuba:type=FileStorage, app-core.cuba:type=LockManager, app-core.cuba:type=CachingFacade, app-core.cuba:type=ClusterManager, app-core.cuba:type=ScriptingManager, app-core.cuba:type=ServerInfo, app-core.cuba:type=Scheduling, app-core.cuba:type=ObjectsCacheManager, app-core.cuba:type=PasswordEncryptionSupport, app-core.cuba:type=JmxNodeIdentifier, app-core.cuba:type=JmxLogControl, app-core.cuba:type=ClassLoaderManager, app-core.cuba:type=StatisticsCounter, app-core.cuba:type=BruteForceProtection, app-core.cuba:type=QueryCacheSupport, app-core.cuba:type=IdpSessions]
10:39:43.640 INFO  c.h.cuba.core.app.ConfigStorage - Loading DB-stored app properties cache
10:39:44.073 INFO  c.h.cuba.core.sys.MetadataImpl - Initializing metadata
10:39:44.357 INFO  c.h.cuba.core.sys.MetadataImpl - Metadata initialized in 283ms
10:39:45.910 INFO  c.h.c.c.s.DefaultPermissionValuesConfig - Initializing default permission values
10:39:46.322 INFO  c.h.c.security.app.LoginWorkerBean - Logged in: 19a4e750-fe36-d3d8-41bc-0d241540c49f [anonymous]
10:39:46.323 INFO  c.h.cuba.core.sys.AppContextLoader - AppContext initialized
M?ñr 28, 2017 10:39:46 AM org.apache.catalina.core.ApplicationContext log
INFORMATION: Initializing Spring FrameworkServlet 'remoting'
10:39:46.340 INFO  c.h.c.c.sys.remoting.RemotingServlet - FrameworkServlet 'remoting': initialization started
10:39:46.353 INFO  c.h.c.c.s.CubaDefaultXmlWebApplicationContext - Refreshing WebApplicationContext for namespace 'remoting-servlet': startup date [Tue Mar 28 10:39:46 CEST 2017]; parent: com.haulmont.cuba.core.sys.CubaCoreApplicationContext@56601bc4
10:39:46.559 INFO  c.h.c.c.s.r.RemoteServicesBeanCreator - Configuring remote services
10:39:47.189 INFO  c.h.c.c.sys.remoting.RemotingServlet - FrameworkServlet 'remoting': initialization completed in 847 ms
M?ñr 28, 2017 10:39:47 AM org.apache.catalina.startup.HostConfig deployDirectory
INFORMATION: Deployment of web application directory C:\Users\MK\studio-projects\BrandingTest\deploy\tomcat\webapps\app-core has finished in 14,505 ms
M?ñr 28, 2017 10:39:47 AM org.apache.coyote.AbstractProtocol start
INFORMATION: Starting ProtocolHandler [http-nio-8080]
M?ñr 28, 2017 10:39:47 AM org.apache.coyote.AbstractProtocol start
INFORMATION: Starting ProtocolHandler [ajp-nio-8009]
M?ñr 28, 2017 10:39:47 AM org.apache.catalina.startup.Catalina start
INFORMATION: Server startup in 27374 ms
M?ñr 28, 2017 10:40:20 AM com.vaadin.server.DefaultDeploymentConfiguration checkProductionMode
WARNUNG:
=================================================================
Vaadin is running in DEBUG MODE.
Add productionMode=true to web.xml to disable debug features.
To show debug window, add ?debug to your application URL.
=================================================================
  1. CUBA Studio shows a wrong web client location (/cuba path is given, /app should be given) and the list of screens I extended (namely the login and the main window) is empty. (the Generic UI tab is completely empty)

  2. Clicking the “+” Button inside the Generic UI tab to create a new component results in this studio.log stacktrace:


[10:42:40.560] Exception has been thrown by com.haulmont.studio.ui.app.a@43804bd7:
[10:42:40.566] java.lang.NullPointerException

 at com.haulmont.studio.ui.r.a.i.a(SourceFile:559)

 at com.haulmont.studio.ui.r.a.i.c(SourceFile:531)

 at com.haulmont.studio.ui.r.a.i.a(SourceFile:350)

 at com.haulmont.studio.ui.r.a.g.a(SourceFile:115)

 at com.haulmont.studio.ui.sd.d.e.a(SourceFile:59)

 at com.haulmont.studio.ui.sd.d.d.a(SourceFile:53)

 at com.haulmont.studio.ui.r.a.c.a(SourceFile:266)

 at com.haulmont.studio.ui.r.a.a.b(SourceFile:212)

 at com.haulmont.studio.ui.r.a.a.a(SourceFile:164)

 at com.haulmont.studio.ui.sd.d.d.a(SourceFile:50)

 at com.haulmont.studio.ui.sd.a.g(SourceFile:182)

 at com.haulmont.studio.ui.sd.a.a(SourceFile:97)

 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 com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)

 at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:198)

 at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:161)

 ...
[10:42:40.577] Unexpected error
java.lang.NullPointerException
  1. Trying to run http://localhost:8080/app the Tomcat console shows this stacktrace:

10:40:23.226 ERROR com.haulmont.cuba.web.AppUI - Unable to init ui
java.lang.IllegalArgumentException: Service cuba-core/cuba_LoginService is not registered in LocalServiceDirectory
        at com.haulmont.cuba.web.sys.remoting.LocalServiceProxy$LocalServiceInvocationHandler.invoke(LocalServiceProxy.java:102) ~[cuba-web-6.4.2.jar:6.4.2]
        at com.sun.proxy.$Proxy21.getSession(Unknown Source) ~[na:na]
        at com.haulmont.cuba.web.DefaultConnection.doLoginAnonymous(DefaultConnection.java:101) ~[cuba-web-6.4.2.jar:6.4.2]
        at com.haulmont.cuba.web.DefaultConnection.loginAnonymous(DefaultConnection.java:67) ~[cuba-web-6.4.2.jar:6.4.2]
        at com.haulmont.cuba.web.AppUI.setupUI(AppUI.java:262) ~[cuba-web-6.4.2.jar:6.4.2]
        at com.haulmont.cuba.web.AppUI.init(AppUI.java:203) ~[cuba-web-6.4.2.jar:6.4.2]
        at com.vaadin.ui.UI.doInit(UI.java:698) [vaadin-server-7.7.6.cuba.6.jar:7.7.6.cuba.6]
        at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:214) [vaadin-server-7.7.6.cuba.6.jar:7.7.6.cuba.6]
        at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:74) [vaadin-server-7.7.6.cuba.6.jar:7.7.6.cuba.6]
        at com.haulmont.cuba.web.sys.CubaVaadinServletService$CubaServletUiInitHandler.lambda$synchronizedHandleRequest$0(CubaVaadinServletService.java:341) [cuba-web-6.4.2.jar:6.4.2]
        at com.haulmont.cuba.web.sys.CubaVaadinServletService.withUserSession(CubaVaadinServletService.java:196) ~[cuba-web-6.4.2.jar:6.4.2]
        at com.haulmont.cuba.web.sys.CubaVaadinServletService$CubaServletUiInitHandler.synchronizedHandleRequest(CubaVaadinServletService.java:341) [cuba-web-6.4.2.jar:6.4.2]
        at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41) ~[vaadin-server-7.7.6.cuba.6.jar:7.7.6.cuba.6]
        at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1422) ~[vaadin-server-7.7.6.cuba.6.jar:7.7.6.cuba.6]
        at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:384) ~[vaadin-server-7.7.6.cuba.6.jar:7.7.6.cuba.6]
        at com.haulmont.cuba.web.sys.CubaApplicationServlet.serviceAppRequest(CubaApplicationServlet.java:276) ~[cuba-web-6.4.2.jar:6.4.2]
        at com.haulmont.cuba.web.sys.CubaApplicationServlet.service(CubaApplicationServlet.java:185) ~[cuba-web-6.4.2.jar:6.4.2]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ~[servlet-api.jar:na]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) ~[catalina.jar:8.5.9]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) ~[catalina.jar:8.5.9]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-websocket.jar:8.5.9]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) ~[catalina.jar:8.5.9]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) ~[catalina.jar:8.5.9]
        at com.haulmont.cuba.web.sys.CubaHttpFilter.handleNotFiltered(CubaHttpFilter.java:108) ~[cuba-web-6.4.2.jar:6.4.2]
        at com.haulmont.cuba.web.sys.CubaHttpFilter.doFilter(CubaHttpFilter.java:95) ~[cuba-web-6.4.2.jar:6.4.2]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) ~[catalina.jar:8.5.9]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) ~[catalina.jar:8.5.9]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) ~[catalina.jar:8.5.9]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[catalina.jar:8.5.9]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474) ~[catalina.jar:8.5.9]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) ~[catalina.jar:8.5.9]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) ~[catalina.jar:8.5.9]
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624) ~[catalina.jar:8.5.9]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) ~[catalina.jar:8.5.9]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) ~[catalina.jar:8.5.9]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783) ~[tomcat-coyote.jar:8.5.9]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) ~[tomcat-coyote.jar:8.5.9]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:789) ~[tomcat-coyote.jar:8.5.9]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1437) ~[tomcat-coyote.jar:8.5.9]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:8.5.9]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_121]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_121]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.5.9]
        at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]

What I did between creating the web toolkit module and removing it manually:

  1. extended the login screen
  2. created a complete custom main window layout screen following this guide
  3. created a custom theme following this guide
  4. added a Javascript component without Generic UI integration

I of course did a backup of my unmodified project but I guess several problems might come together here. I’d like to investigate what went wrong. Do you have any hints? Thanks in advance!

cuba-studio-after-manual-module-removal