vaadin / vaadin-gradle-plugin

Gradle plugin for Vaadin 14 applications. Takes care of front-end build, helps to configure repositories and to create various project and file templates.
Apache License 2.0
31 stars 9 forks source link

Build an Rpm #102

Closed foxpluto closed 3 years ago

foxpluto commented 3 years ago

Dear mvysny,

I am writing to you here even probably is not the right place but I need little help in using your plugin in mix with the nebula one for packing a project in a RPM.

I have copied a skeleton hello world vaadin project and modified that in order to:

Everything works great in VSC even in production mode but if I try to pack the project in a Rpm and deploy to a remote server the application doesn't start anymore. let me better explain the problem.

You can download the test vaadin app here: Test Vaadin App

If you compile and run the App with:

gradle clean build  -Pvaadin.productionMode
gradle run

the App start and run correctly.

If you try to pack the app in an rpm with:

gradle clean buildRpm  -Pvaadin.productionMode

the rpm is produced and the content is:

[fox@test ~]$ rpm -qlp vaadintest-0.0.1-0.x86_64.rpm
/etc/vaadin
/etc/vaadin/log4j2.xml
/usr/share/vaadin
/usr/share/vaadin/asm-7.3.1.jar
/usr/share/vaadin/asm-analysis-7.3.1.jar
/usr/share/vaadin/asm-commons-7.3.1.jar
/usr/share/vaadin/asm-tree-7.3.1.jar
/usr/share/vaadin/atmosphere-runtime-2.4.30.slf4jvaadin1.jar
/usr/share/vaadin/byte-buddy-1.10.9.jar
/usr/share/vaadin/commons-codec-1.9.jar
/usr/share/vaadin/commons-compress-1.19.jar
/usr/share/vaadin/commons-fileupload-1.3.3.jar
/usr/share/vaadin/commons-io-2.5.jar
/usr/share/vaadin/commons-lang3-3.0.jar
/usr/share/vaadin/commons-logging-1.2.jar
/usr/share/vaadin/flow-client-2.3.4.jar
/usr/share/vaadin/flow-data-2.3.4.jar
/usr/share/vaadin/flow-dnd-2.3.4.jar
/usr/share/vaadin/flow-html-components-2.3.4.jar
/usr/share/vaadin/flow-push-2.3.4.jar
/usr/share/vaadin/flow-server-2.3.4.jar
/usr/share/vaadin/gentyref-1.2.0.vaadin1.jar
/usr/share/vaadin/gwt-elemental-2.8.2.vaadin2.jar
/usr/share/vaadin/httpclient-4.5.2.jar
/usr/share/vaadin/httpcore-4.4.4.jar
/usr/share/vaadin/javax-websocket-client-impl-9.4.31.v20200723.jar
/usr/share/vaadin/javax-websocket-server-impl-9.4.31.v20200723.jar
/usr/share/vaadin/javax.annotation-api-1.3.jar
/usr/share/vaadin/javax.servlet-api-4.0.1.jar
/usr/share/vaadin/javax.websocket-api-1.0.jar
/usr/share/vaadin/javax.websocket-client-api-1.1.jar
/usr/share/vaadin/jetty-annotations-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-client-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-continuation-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-http-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-io-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-jndi-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-plus-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-security-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-server-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-servlet-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-util-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-webapp-9.4.31.v20200723.jar
/usr/share/vaadin/jetty-xml-9.4.31.v20200723.jar
/usr/share/vaadin/jsoup-1.12.1.jar
/usr/share/vaadin/log4j-api-2.13.1.jar
/usr/share/vaadin/log4j-core-2.13.1.jar
/usr/share/vaadin/mobile-drag-drop-2.3.0-rc.1.jar
/usr/share/vaadin/ph-commons-9.1.2.jar
/usr/share/vaadin/ph-css-6.1.1.jar
/usr/share/vaadin/slf4j-api-1.7.30.jar
/usr/share/vaadin/slf4j-simple-1.7.30.jar
/usr/share/vaadin/vaadin-0.0.1.jar
/usr/share/vaadin/vaadin-accordion-flow-2.1.0.jar
/usr/share/vaadin/vaadin-app-layout-flow-2.1.0.jar
/usr/share/vaadin/vaadin-button-flow-2.1.0.jar
/usr/share/vaadin/vaadin-checkbox-flow-2.1.0.jar
/usr/share/vaadin/vaadin-combo-box-flow-3.1.0.jar
/usr/share/vaadin/vaadin-context-menu-flow-3.2.0.jar
/usr/share/vaadin/vaadin-core-14.3.4.jar
/usr/share/vaadin/vaadin-custom-field-flow-3.1.0.jar
/usr/share/vaadin/vaadin-date-picker-flow-2.1.0.jar
/usr/share/vaadin/vaadin-date-time-picker-flow-1.1.1.jar
/usr/share/vaadin/vaadin-details-flow-2.1.0.jar
/usr/share/vaadin/vaadin-dialog-flow-2.2.1.jar
/usr/share/vaadin/vaadin-form-layout-flow-2.1.0.jar
/usr/share/vaadin/vaadin-grid-flow-4.2.2.jar
/usr/share/vaadin/vaadin-icons-flow-2.1.0.jar
/usr/share/vaadin/vaadin-iron-list-flow-2.1.0.jar
/usr/share/vaadin/vaadin-list-box-flow-2.2.0.jar
/usr/share/vaadin/vaadin-login-flow-2.1.0.jar
/usr/share/vaadin/vaadin-lumo-theme-2.3.4.jar
/usr/share/vaadin/vaadin-material-theme-2.3.4.jar
/usr/share/vaadin/vaadin-menu-bar-flow-1.1.0.jar
/usr/share/vaadin/vaadin-notification-flow-2.1.0.jar
/usr/share/vaadin/vaadin-ordered-layout-flow-2.2.0.jar
/usr/share/vaadin/vaadin-progress-bar-flow-2.1.0.jar
/usr/share/vaadin/vaadin-radio-button-flow-2.1.0.jar
/usr/share/vaadin/vaadin-select-flow-2.1.0.jar
/usr/share/vaadin/vaadin-split-layout-flow-2.1.0.jar
/usr/share/vaadin/vaadin-tabs-flow-2.1.0.jar
/usr/share/vaadin/vaadin-text-field-flow-2.2.0.jar
/usr/share/vaadin/vaadin-time-picker-flow-2.2.0.jar
/usr/share/vaadin/vaadin-upload-flow-2.2.1.jar
/usr/share/vaadin/vaadin__vaadin-mobile-drag-drop-1.0.0.jar
/usr/share/vaadin/validation-api-2.0.0.Final.jar
/usr/share/vaadin/websocket-api-9.4.31.v20200723.jar
/usr/share/vaadin/websocket-client-9.4.31.v20200723.jar
/usr/share/vaadin/websocket-common-9.4.31.v20200723.jar
/usr/share/vaadin/websocket-server-9.4.31.v20200723.jar
/usr/share/vaadin/websocket-servlet-9.4.31.v20200723.jar

Inside the vaadin-0.0.1.jar the content is:

 META-INF/
 META-INF/MANIFEST.MF
 com/
 com/vaadin/
 com/vaadin/starter/
 com/vaadin/starter/skeleton/
 com/vaadin/starter/skeleton/ManualJetty.class
 com/vaadin/starter/skeleton/GreetService.class
 com/vaadin/starter/skeleton/MainView.class
 webapp/
 webapp/icons/
 webapp/icons/icon.png
 webapp/ROOT
 META-INF/VAADIN/
 META-INF/VAADIN/config/
 META-INF/VAADIN/config/flow-build-info.json
 META-INF/VAADIN/config/stats.json
 META-INF/VAADIN/build/
 META-INF/VAADIN/build/vaadin-bundle-f99ff8df445981bc3183.cache.js.gz
 META-INF/VAADIN/build/vaadin-bundle.es5-32466919b33176fc0e2f.cache.js
 META-INF/VAADIN/build/vaadin-4-cd296affaa05632c69e8.cache.js.gz
 META-INF/VAADIN/build/vaadin-4-cd296affaa05632c69e8.cache.js
 META-INF/VAADIN/build/vaadin-3-d73a3687c89ff33b2b14.cache.js.gz
 META-INF/VAADIN/build/vaadin-2-6274e9e94a38124280f0.cache.js
 META-INF/VAADIN/build/vaadin-bundle-f99ff8df445981bc3183.cache.js
 META-INF/VAADIN/build/vaadin-3-d73a3687c89ff33b2b14.cache.js
 META-INF/VAADIN/build/webcomponentsjs/
 META-INF/VAADIN/build/webcomponentsjs/LICENSE.md
 META-INF/VAADIN/build/webcomponentsjs/webcomponents-loader.js
 META-INF/VAADIN/build/webcomponentsjs/CHANGELOG.md
 META-INF/VAADIN/build/webcomponentsjs/README.md
 META-INF/VAADIN/build/webcomponentsjs/package.json
 META-INF/VAADIN/build/webcomponentsjs/custom-elements-es5-adapter.js
 META-INF/VAADIN/build/webcomponentsjs/webcomponents-bundle.js
 META-INF/VAADIN/build/webcomponentsjs/webcomponents-bundle.js.map
 META-INF/VAADIN/build/webcomponentsjs/bundles/
 META-INF/VAADIN/build/webcomponentsjs/bundles/webcomponents-sd.js.map
 META-INF/VAADIN/build/webcomponentsjs/bundles/webcomponents-ce.js
 META-INF/VAADIN/build/webcomponentsjs/bundles/webcomponents-sd-ce.js.map
 META-INF/VAADIN/build/webcomponentsjs/bundles/webcomponents-sd.js
 META-INF/VAADIN/build/webcomponentsjs/bundles/webcomponents-ce.js.map
 META-INF/VAADIN/build/webcomponentsjs/bundles/webcomponents-sd-ce.js
 META-INF/VAADIN/build/webcomponentsjs/src/
 META-INF/VAADIN/build/webcomponentsjs/src/entrypoints/
 META-INF/VAADIN/build/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js
 META-INF/VAADIN/build/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js
 META-INF/VAADIN/build/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js
 META-INF/VAADIN/build/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js
 META-INF/VAADIN/build/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js
 META-INF/VAADIN/build/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js
 META-INF/VAADIN/build/vaadin-2-6274e9e94a38124280f0.cache.js.gz
 META-INF/VAADIN/build/vaadin-5-5598fd6f62dbe1fd6a69.cache.js.gz
 META-INF/VAADIN/build/vaadin-5-5598fd6f62dbe1fd6a69.cache.js
 META-INF/VAADIN/build/vaadin-bundle.es5-32466919b33176fc0e2f.cache.js.gz
 simplelogger.properties

And in the MANIFEST.MF inside the vaadin-0.0.1.jar the classpath is:

 Manifest-Version: 1.0
 Implementation-Title: Gradle Quickstart
 Implementation-Version: 0.0.1
 Main-Class: com.vaadin.starter.skeleton.ManualJetty
 Class-Path: vaadin-core-14.3.4.jar slf4j-simple-1.7.30.jar javax-websock
  et-server-impl-9.4.31.v20200723.jar jetty-annotations-9.4.31.v20200723.
  jar jetty-plus-9.4.31.v20200723.jar jetty-webapp-9.4.31.v20200723.jar w
  ebsocket-server-9.4.31.v20200723.jar jetty-servlet-9.4.31.v20200723.jar
   jetty-security-9.4.31.v20200723.jar jetty-server-9.4.31.v20200723.jar
  jetty-continuation-9.4.31.v20200723.jar javax-websocket-client-impl-9.4
  .31.v20200723.jar websocket-client-9.4.31.v20200723.jar websocket-commo
  n-9.4.31.v20200723.jar websocket-servlet-9.4.31.v20200723.jar websocket
  -api-9.4.31.v20200723.jar javax.websocket-client-api-1.1.jar javax.serv
  let-api-4.0.1.jar log4j-core-2.13.1.jar log4j-api-2.13.1.jar flow-html-
  components-2.3.4.jar flow-data-2.3.4.jar flow-dnd-2.3.4.jar flow-server
  -2.3.4.jar flow-push-2.3.4.jar flow-client-2.3.4.jar vaadin-lumo-theme-
  2.3.4.jar vaadin-material-theme-2.3.4.jar vaadin-accordion-flow-2.1.0.j
  ar vaadin-app-layout-flow-2.1.0.jar vaadin-button-flow-2.1.0.jar vaadin
  -checkbox-flow-2.1.0.jar vaadin-combo-box-flow-3.1.0.jar vaadin-date-ti
  me-picker-flow-1.1.1.jar vaadin-date-picker-flow-2.1.0.jar vaadin-time-
  picker-flow-2.2.0.jar vaadin-select-flow-2.1.0.jar vaadin-dialog-flow-2
  .2.1.jar vaadin-details-flow-2.1.0.jar vaadin-form-layout-flow-2.1.0.ja
  r vaadin-grid-flow-4.2.2.jar vaadin-icons-flow-2.1.0.jar vaadin-iron-li
  st-flow-2.1.0.jar vaadin-list-box-flow-2.2.0.jar vaadin-notification-fl
  ow-2.1.0.jar vaadin-ordered-layout-flow-2.2.0.jar vaadin-progress-bar-f
  low-2.1.0.jar vaadin-radio-button-flow-2.1.0.jar vaadin-split-layout-fl
  ow-2.1.0.jar vaadin-tabs-flow-2.1.0.jar vaadin-text-field-flow-2.2.0.ja
  r vaadin-menu-bar-flow-1.1.0.jar vaadin-upload-flow-2.2.1.jar vaadin-co
  ntext-menu-flow-3.2.0.jar vaadin-login-flow-2.1.0.jar vaadin-custom-fie
  ld-flow-3.1.0.jar ph-css-6.1.1.jar ph-commons-9.1.2.jar atmosphere-runt
  ime-2.4.30.slf4jvaadin1.jar slf4j-api-1.7.30.jar jetty-client-9.4.31.v2
  0200723.jar jetty-http-9.4.31.v20200723.jar jetty-io-9.4.31.v20200723.j
  ar jetty-xml-9.4.31.v20200723.jar javax.annotation-api-1.3.jar asm-comm
  ons-7.3.1.jar asm-analysis-7.3.1.jar asm-tree-7.3.1.jar asm-7.3.1.jar j
  etty-jndi-9.4.31.v20200723.jar jetty-util-9.4.31.v20200723.jar javax.we
  bsocket-api-1.0.jar gwt-elemental-2.8.2.vaadin2.jar commons-fileupload-
  1.3.3.jar commons-io-2.5.jar jsoup-1.12.1.jar byte-buddy-1.10.9.jar gen
  tyref-1.2.0.vaadin1.jar commons-compress-1.19.jar httpclient-4.5.2.jar
  validation-api-2.0.0.Final.jar vaadin__vaadin-mobile-drag-drop-1.0.0.ja
  r mobile-drag-drop-2.3.0-rc.1.jar commons-lang3-3.0.jar httpcore-4.4.4.
  jar commons-logging-1.2.jar commons-codec-1.9.jar

if you try to start the application with:

sudo -u vaadin  /usr/bin/java -Dlog4j.configurationFile=/etc/vaadin/log4j2.xml -jar /usr/share/vaadin/vaadin-0.0.1.jar

I don't read any particular error:

[fox@test ~]$ sudo -u vaadin  /usr/bin/java -Dlog4j.configurationFile=/etc/vaadin/log4j2.xml -jar /usr/share/vaadin/vaadin-0.0.1.jar
Production mode detected, enforcing
[main] INFO org.eclipse.jetty.util.log - Logging initialized @148ms to org.eclipse.jetty.util.log.Slf4jLog
/webapp/ROOT is jar:file:/usr/share/vaadin/vaadin-0.0.1.jar!/webapp/ROOT
WebRoot is jar:file:/usr/share/vaadin/vaadin-0.0.1.jar!/webapp
[main] INFO org.eclipse.jetty.server.Server - jetty-9.4.31.v20200723; built: 2020-07-23T17:57:36.812Z; git: 450ba27947e13e66baa8cd1ce7e85a4461cacc1d; jvm 11.0.7+10-LTS
[main] INFO org.eclipse.jetty.annotations.AnnotationConfiguration - Scanning elapsed time=16ms
[main] INFO org.eclipse.jetty.webapp.StandardDescriptorProcessor - NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
[main] INFO org.eclipse.jetty.server.handler.ContextHandler.ROOT - Initializing AtmosphereFramework
[main] INFO org.eclipse.jetty.server.session - DefaultSessionIdManager workerName=node0
[main] INFO org.eclipse.jetty.server.session - No SessionScavenger set, using defaults
[main] INFO org.eclipse.jetty.server.session - node0 Scavenging every 660000ms
[main] INFO com.vaadin.flow.server.startup.ServletDeployer - Skipping automatic servlet registration because there is already a Vaadin servlet with the name com.vaadin.flow.server.VaadinServlet-366e2eef
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler mapped to context-path: /*
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.flow.server.communication.PushAtmosphereHandler
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Atmosphere is using org.atmosphere.util.VoidAnnotationProcessor for processing annotation
[main] DEBUG org.atmosphere.cpr.AtmosphereFramework - Scanning all classes on the classpath
[main] INFO org.atmosphere.util.ForkJoinPool - Using ForkJoinPool  java.util.concurrent.ForkJoinPool. Set the org.atmosphere.cpr.broadcaster.maxAsyncWriteThreads to -1 to fully use its power.
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
[main] DEBUG org.atmosphere.cpr.DefaultAsyncSupportResolver - Found javax.servlet.AsyncListener
[main] DEBUG org.atmosphere.cpr.DefaultAsyncSupportResolver - Found javax.websocket.Endpoint
[main] INFO org.atmosphere.container.JSR356AsyncSupport - JSR 356 Mapping path
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installing Default AtmosphereInterceptors
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Dropping Interceptor org.atmosphere.interceptor.HeartbeatInterceptor
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
[main] INFO org.atmosphere.cpr.AtmosphereFramework -    org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor CORS Interceptor Support with priority FIRST_BEFORE_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor Default Response's Headers Interceptor with priority AFTER_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor Browser Padding Interceptor Support with priority AFTER_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor Android Interceptor Support with priority AFTER_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor SSE Interceptor Support with priority AFTER_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor JSONP Interceptor Support with priority AFTER_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor Atmosphere JavaScript Protocol with priority AFTER_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor with priority AFTER_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor Browser disconnection detection with priority AFTER_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor org.atmosphere.interceptor.IdleResourceInterceptor with priority BEFORE_DEFAULT
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Broadcaster Shared List Resources: false
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Broadcaster Polling Wait Time 100
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Shared ExecutorService supported: true
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Messaging ExecutorService Pool Size unavailable - Not instance of ThreadPoolExecutor
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Async I/O Thread Pool Size: 200
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Using AtmosphereResurceFactory: org.atmosphere.cpr.DefaultAtmosphereResourceFactory
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Invoke AtmosphereInterceptor on WebSocket message true
[main] INFO org.atmosphere.cpr.AtmosphereFramework - HttpSession supported: true
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Atmosphere is using async support: org.atmosphere.container.JSR356AsyncSupport running under container: jetty/9.4.31.v20200723 using javax.servlet/3.0 and jsr356/WebSocket API
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Atmosphere Framework 2.4.30.slf4jvaadin1 started.
[main] INFO org.atmosphere.cpr.AtmosphereFramework - Installed AtmosphereInterceptor  Track Message Size Interceptor using | with priority BEFORE_DEFAULT
[main] INFO org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@189cbd7c{/,jar:file:/usr/share/vaadin/vaadin-0.0.1.jar!/webapp,AVAILABLE}
[main] INFO org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@240237d2{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
[main] INFO org.eclipse.jetty.server.Server - Started @619ms

=================================================

Please open http://localhost:8080 in your browser

If you see the 'Unable to determine mode of operation' exception, just kill me and run `mvn -C clean package`

=================================================

But if you try to go to the web page, Chrome receive a 404 Not Found error trying to download vaadin client:

http://test.farm.rimoldi.it:8080/VAADIN/static/client/client-C001A087E3ACCAA1E16BBD9F71FBD6EA.cache.js

the web page is white and the application doesn't start.

I am somewhat lost here, could you be so kind to point me in the right direction ?

Do you think something is missing in the rpm ? I have to include some js in the rpm which is missing?

Thanks for your help,

Stefano Bossi

foxpluto commented 3 years ago

Hi,

I think I did some progress here but I still don't have a real solution :-(

The missing file (i.e. client-C001A087E3ACCAA1E16BBD9F71FBD6EA.cache.js) it's inside the flow-client-2.3.4.jar jar file which was inside the rpm and deployed with alla the others in my linux box. The flow jar contents is:

 META-INF/MANIFEST.MF
 META-INF/
 META-INF/resources/
 META-INF/resources/frontend/
 META-INF/resources/VAADIN/
 META-INF/resources/VAADIN/static/
 META-INF/resources/VAADIN/static/client/
 OSGI-INF/
 com/
 com/vaadin/
 com/vaadin/flow/
 com/vaadin/flow/client/
 com/vaadin/flow/client/osgi/
 META-INF/maven/
 META-INF/maven/com.vaadin/
 META-INF/maven/com.vaadin/flow-client/
 META-INF/resources/frontend/VaadinDevmodeGizmo.js
 META-INF/resources/VAADIN/static/client/clear.cache.gif
 META-INF/resources/VAADIN/static/client/compile.properties
 META-INF/resources/VAADIN/static/client/client-C001A087E3ACCAA1E16BBD9F71FBD6EA.cache.js.br
 META-INF/maven/com.vaadin/flow-client/pom.properties
 META-INF/resources/VAADIN/static/client/client-C001A087E3ACCAA1E16BBD9F71FBD6EA.cache.js
 com/vaadin/flow/client/osgi/OsgiClientResources.class
 com/vaadin/flow/client/osgi/OSGiClientStaticResource.class
 OSGI-INF/com.vaadin.flow.client.osgi.OSGiClientStaticResource.xml
 OSGI-INF/com.vaadin.flow.client.osgi.OsgiClientResources.xml
 META-INF/maven/com.vaadin/flow-client/pom.xml
 META-INF/resources/VAADIN/static/client/client-C001A087E3ACCAA1E16BBD9F71FBD6EA.cache.js.gz

As you can see the file is there, so why Jetty is not able to serve the file in my linux box but is capable to do that if I run the code with gradle run ?

I have changed the log level to debug and I have noticed some differences in the logs:

On the linux box I have:

[main] DEBUG org.eclipse.jetty.webapp.WebAppContext - configure o.e.j.w.WebAppContext@5a01ccaa{/,jar:file:/usr/share/vaadin/vaadin-0.0.1.jar!/webapp,STARTING} with org.eclipse.jetty.webapp.JettyWebXmlConfiguration@1dde4cb2

Configuration only of the jar vaadin-0.0.1.jar which is the jar of my application but not the flow-client-2.3.4.jar jar

On Visual Studio Code with gradle run command the log is much more long and:

[main] DEBUG org.eclipse.jetty.webapp.WebAppContext - configure o.e.j.w.WebAppContext@1b40d5f0{/,[file:///Users/fox/Documents/workspace/testvaadin/build/resources/main/webapp/, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/flow-client/2.3.4/d8641f834bfff5b4e8ad5d0dcbb37dbf5fff2283/flow-client-2.3.4.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-menu-bar-flow/1.1.0/4cdd9c988d8667302b713a561abc8a5e241f35fa/vaadin-menu-bar-flow-1.1.0.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/org.webjars.npm/mobile-drag-drop/2.3.0-rc.1/a99efeb0c4378d66787d060aa30a3f39adfee659/mobile-drag-drop-2.3.0-rc.1.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-select-flow/2.1.0/d66f591333a710c97f6777fe452e6f309db7a479/vaadin-select-flow-2.1.0.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-grid-flow/4.2.2/cda6dc22a2512487e51db9d42b81cd41328e5d3f/vaadin-grid-flow-4.2.2.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-context-menu-flow/3.2.0/bb7eb3c2ea4d23e3cec5b41d2d42c498097bf3e7/vaadin-context-menu-flow-3.2.0.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-date-picker-flow/2.1.0/5c1f5738eba5b584846a99a27267892dc71d8c9a/vaadin-date-picker-flow-2.1.0.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-iron-list-flow/2.1.0/b6f0b7de7503a09c6957adf5bb814900cb82ccb9/vaadin-iron-list-flow-2.1.0.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/flow-server/2.3.4/b0261024c024a253e21d044f23164225f2686f0e/flow-server-2.3.4.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-time-picker-flow/2.2.0/611ba6ae378feb3a05b596eaa562060fdb1fa2e6/vaadin-time-picker-flow-2.2.0.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/org.webjars.npm/vaadin__vaadin-mobile-drag-drop/1.0.0/f59b817abc4afaf3a4011e29d37d30a21e3568a5/vaadin__vaadin-mobile-drag-drop-1.0.0.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/flow-dnd/2.3.4/e3674131b041bd6f7014d209ba754b4c5473988f/flow-dnd-2.3.4.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-text-field-flow/2.2.0/d1cfd7e2bdbb56eef14db134ee53b720620e1fd3/vaadin-text-field-flow-2.2.0.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/flow-data/2.3.4/a2d7bcfec4d7c6fe7f3218d1676b420844dc76de/flow-data-2.3.4.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/flow-push/2.3.4/bdad3d64a056911b5160890d72b87424fcef8671/flow-push-2.3.4.jar!/META-INF/resources, jar:file:///Users/fox/.gradle/caches/modules-2/files-2.1/com.vaadin/vaadin-combo-box-flow/3.1.0/87827c3f5e814e7c559e47d9f89d1766e3f76327/vaadin-combo-box-flow-3.1.0.jar!/META-INF/resources],STARTING} with org.eclipse.jetty.webapp.WebXmlConfiguration@35047d03

As you can see there's the flow-client-2.3.4.jar jar !!!

Why this difference? The java code is the same. I am not a Jetty expert but I think this difference is relevant for my problem.

The file is there, inside the flow-client-2.3.4.jar jar, how could instruct jetty to serve it ? Is the gradle vaadin plugin which do some magic ?

Regards, S.

mvysny commented 3 years ago

Hi, sorry I'm on a vacation and can't answer right now. However, the client cache js should not come from flow.jar but is produced by the Gradle plugin by running webpack and should be packaged in a war file (or your app jar, depending on your packaging choice). Please try to find more information at https://mvysny.github.io/Vaadin-troubleshooting/

foxpluto commented 3 years ago

Hi,

sorry to bother you. I try to study what you suggested me. Happy holiday...

Regards, S.

mvysny commented 3 years ago

No problem! Hmm actually it could be that the client-C001A087E3ACCAA1E16BBD9F71FBD6EA.cache.js might be coming from flow-client.jar... need to investigate. If that's true, then jetty should serve the file automatically (web containers should serve all folders META-INF/resources from classpath, according to the servlet spec)...if it's not (as you describe) then that could be the origin of the problem.

mvysny commented 3 years ago

Can you please start the jetty embedded not via Gradle run, but via the shell script (in the zip archive). That way you can simulate running the app more "barebones" (perhaps closer to the rpm environment)

foxpluto commented 3 years ago

Ok, I will try.... and let you know...

foxpluto commented 3 years ago

mmmm,

I think I am missing something here, the script you mention is:

#!/bin/bash
set -e -o pipefail
CP=`ls libs/*.jar|tr '\n' ':'`
java -cp $CP com.vaadin.starter.skeleton.ManualJetty "$@"

and I understand what it means but I don't have any libs directory in my project....

Which files should be there?

Regards,

S.

mvysny commented 3 years ago

Which example project are you building upon please?

foxpluto commented 3 years ago

IT WORKS !!!!! let me explain... In the directory of my linux box I have these files:

-rw-r--r--. 1 root root  121836 Dec 27 21:17 asm-7.3.1.jar
-rw-r--r--. 1 root root   33446 Dec 27 21:17 asm-analysis-7.3.1.jar
-rw-r--r--. 1 root root   71548 Dec 27 21:17 asm-commons-7.3.1.jar
-rw-r--r--. 1 root root   52826 Dec 27 21:17 asm-tree-7.3.1.jar
-rw-r--r--. 1 root root  891959 Dec 27 21:20 atmosphere-runtime-2.4.30.slf4jvaadin1.jar
-rw-r--r--. 1 root root 3376059 Dec 27 21:20 byte-buddy-1.10.9.jar
-rw-r--r--. 1 root root  263965 Dec 27 21:20 commons-codec-1.9.jar
-rw-r--r--. 1 root root  615064 Dec 27 21:20 commons-compress-1.19.jar
-rw-r--r--. 1 root root   70604 Dec 27 21:20 commons-fileupload-1.3.3.jar
-rw-r--r--. 1 root root  208700 Dec 27 21:20 commons-io-2.5.jar
-rw-r--r--. 1 root root  306008 Dec 30 08:38 commons-lang3-3.0.jar
-rw-r--r--. 1 root root   61829 Dec 27 21:18 commons-logging-1.2.jar
-rw-r--r--. 1 root root  154528 Dec 27 21:20 flow-client-2.3.4.jar
-rw-r--r--. 1 root root  304111 Dec 27 21:20 flow-data-2.3.4.jar
-rw-r--r--. 1 root root   23905 Dec 27 21:20 flow-dnd-2.3.4.jar
-rw-r--r--. 1 root root   32910 Dec 27 21:20 flow-html-components-2.3.4.jar
-rw-r--r--. 1 root root   81817 Dec 27 21:20 flow-push-2.3.4.jar
-rw-r--r--. 1 root root 1515585 Dec 27 21:20 flow-server-2.3.4.jar
-rw-r--r--. 1 root root   23506 Dec 27 21:20 gentyref-1.2.0.vaadin1.jar
-rw-r--r--. 1 root root   65905 Dec 27 21:20 gwt-elemental-2.8.2.vaadin2.jar
-rw-r--r--. 1 root root  736658 Dec 27 21:20 httpclient-4.5.2.jar
-rw-r--r--. 1 root root  326724 Dec 27 21:20 httpcore-4.4.4.jar
-rw-r--r--. 1 root root   26430 Dec 27 21:17 javax.annotation-api-1.3.jar
-rw-r--r--. 1 root root   95505 Dec 27 21:18 javax.servlet-api-4.0.1.jar
-rw-r--r--. 1 root root   36611 Dec 27 21:18 javax.websocket-api-1.0.jar
-rw-r--r--. 1 root root   27070 Dec 27 21:18 javax.websocket-client-api-1.1.jar
-rw-r--r--. 1 root root  167850 Dec 27 21:18 javax-websocket-client-impl-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   46861 Dec 27 21:18 javax-websocket-server-impl-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   86306 Dec 27 21:17 jetty-annotations-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  327561 Dec 27 21:18 jetty-client-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   25435 Dec 27 21:18 jetty-continuation-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  213217 Dec 27 21:17 jetty-http-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  162036 Dec 27 21:17 jetty-io-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   46804 Dec 27 21:17 jetty-jndi-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   65761 Dec 27 21:17 jetty-plus-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  117914 Dec 27 21:17 jetty-security-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  703234 Dec 27 21:17 jetty-server-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  131958 Dec 27 21:17 jetty-servlet-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  555579 Dec 27 21:17 jetty-util-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  138196 Dec 27 21:17 jetty-webapp-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   66692 Dec 27 21:17 jetty-xml-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  397115 Dec 27 21:20 jsoup-1.12.1.jar
-rw-r--r--. 1 root root  292244 Dec 27 21:17 log4j-api-2.13.1.jar
-rw-r--r--. 1 root root 1702809 Dec 27 21:17 log4j-core-2.13.1.jar
-rw-r--r--. 1 root root   82842 Dec 27 21:20 mobile-drag-drop-2.3.0-rc.1.jar
-rw-r--r--. 1 root root 1271002 Dec 27 21:20 ph-commons-9.1.2.jar
-rw-r--r--. 1 root root  509525 Dec 27 21:20 ph-css-6.1.1.jar
-rw-r--r--. 1 root root   41472 Dec 27 21:20 slf4j-api-1.7.30.jar
-rw-r--r--. 1 root root   15239 Dec 30 08:38 slf4j-simple-1.7.30.jar
-rw-r--r--. 1 root root 2245887 Dec 30 20:23 vaadin-0.0.1.jar
-rw-r--r--. 1 root root    8221 Dec 27 21:20 vaadin-accordion-flow-2.1.0.jar
-rw-r--r--. 1 root root    8681 Dec 27 21:20 vaadin-app-layout-flow-2.1.0.jar
-rw-r--r--. 1 root root   12021 Dec 27 21:20 vaadin-button-flow-2.1.0.jar
-rw-r--r--. 1 root root   24759 Dec 27 21:20 vaadin-checkbox-flow-2.1.0.jar
-rw-r--r--. 1 root root   37269 Dec 27 21:20 vaadin-combo-box-flow-3.1.0.jar
-rw-r--r--. 1 root root   32085 Dec 27 21:20 vaadin-context-menu-flow-3.2.0.jar
-rw-r--r--. 1 root root    4854 Dec 27 21:20 vaadin-core-14.3.4.jar
-rw-r--r--. 1 root root    6685 Dec 27 21:20 vaadin-custom-field-flow-3.1.0.jar
-rw-r--r--. 1 root root   24267 Dec 27 21:20 vaadin-date-picker-flow-2.1.0.jar
-rw-r--r--. 1 root root   12947 Dec 27 21:20 vaadin-date-time-picker-flow-1.1.1.jar
-rw-r--r--. 1 root root    7795 Dec 27 21:20 vaadin-details-flow-2.1.0.jar
-rw-r--r--. 1 root root   14399 Dec 27 21:20 vaadin-dialog-flow-2.2.1.jar
-rw-r--r--. 1 root root   11962 Dec 27 21:20 vaadin-form-layout-flow-2.1.0.jar
-rw-r--r--. 1 root root  197156 Dec 27 21:20 vaadin-grid-flow-4.2.2.jar
-rw-r--r--. 1 root root   26434 Dec 27 21:20 vaadin-icons-flow-2.1.0.jar
-rw-r--r--. 1 root root   17125 Dec 27 21:20 vaadin-iron-list-flow-2.1.0.jar
-rw-r--r--. 1 root root   14278 Dec 27 21:20 vaadin-list-box-flow-2.2.0.jar
-rw-r--r--. 1 root root   15771 Dec 27 21:20 vaadin-login-flow-2.1.0.jar
-rw-r--r--. 1 root root    5785 Dec 27 21:20 vaadin-lumo-theme-2.3.4.jar
-rw-r--r--. 1 root root    4524 Dec 27 21:20 vaadin-material-theme-2.3.4.jar
-rw-r--r--. 1 root root   12628 Dec 27 21:20 vaadin-menu-bar-flow-1.1.0.jar
-rw-r--r--. 1 root root   16356 Dec 27 21:20 vaadin-notification-flow-2.1.0.jar
-rw-r--r--. 1 root root   26399 Dec 27 21:20 vaadin-ordered-layout-flow-2.2.0.jar
-rw-r--r--. 1 root root    6927 Dec 27 21:20 vaadin-progress-bar-flow-2.1.0.jar
-rw-r--r--. 1 root root   18391 Dec 27 21:20 vaadin-radio-button-flow-2.1.0.jar
-rw-r--r--. 1 root root   21972 Dec 27 21:20 vaadin-select-flow-2.1.0.jar
-rw-r--r--. 1 root root   13020 Dec 27 21:20 vaadin-split-layout-flow-2.1.0.jar
-rw-r--r--. 1 root root   17002 Dec 27 21:20 vaadin-tabs-flow-2.1.0.jar
-rw-r--r--. 1 root root   67926 Dec 27 21:20 vaadin-text-field-flow-2.2.0.jar
-rw-r--r--. 1 root root   21868 Dec 27 21:20 vaadin-time-picker-flow-2.2.0.jar
-rw-r--r--. 1 root root   56767 Dec 27 21:20 vaadin-upload-flow-2.2.1.jar
-rw-r--r--. 1 root root   10697 Dec 27 21:20 vaadin__vaadin-mobile-drag-drop-1.0.0.jar
-rw-r--r--. 1 root root   93081 Dec 27 21:20 validation-api-2.0.0.Final.jar
-rw-r--r--. 1 root root   52103 Dec 27 21:18 websocket-api-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   45457 Dec 27 21:18 websocket-client-9.4.31.v20200723.jar
-rw-r--r--. 1 root root  208875 Dec 27 21:18 websocket-common-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   44814 Dec 27 21:18 websocket-server-9.4.31.v20200723.jar
-rw-r--r--. 1 root root   30261 Dec 27 21:18 websocket-servlet-9.4.31.v20200723.jar

As you suggested I have added the little script:

 #!/bin/bash
 set -e -o pipefail
 CP=`ls *.jar|tr '\n' ':'`
 java -cp $CP com.vaadin.starter.skeleton.ManualJetty "$@"

And IT WORKS !!!!

But really I would like to understand better where the problem is here! Ok, the script compose a command line with a very long ClassPath and Jetty use it for inspecting the contents of the jars, but in my main jar vaadin-0.0.1.jar there's a META-INF/MANIFEST.MF which already contains the classpath:

 Manifest-Version: 1.0
 Implementation-Title: Gradle Quickstart
 Implementation-Version: 0.0.1
 Main-Class: com.vaadin.starter.skeleton.ManualJetty
 Class-Path: vaadin-core-14.3.4.jar slf4j-simple-1.7.30.jar javax-websock
  et-server-impl-9.4.31.v20200723.jar jetty-annotations-9.4.31.v20200723.
  jar jetty-plus-9.4.31.v20200723.jar jetty-webapp-9.4.31.v20200723.jar w
  ebsocket-server-9.4.31.v20200723.jar jetty-servlet-9.4.31.v20200723.jar
   jetty-security-9.4.31.v20200723.jar jetty-server-9.4.31.v20200723.jar
  jetty-continuation-9.4.31.v20200723.jar javax-websocket-client-impl-9.4
  .31.v20200723.jar websocket-client-9.4.31.v20200723.jar websocket-commo
  n-9.4.31.v20200723.jar websocket-servlet-9.4.31.v20200723.jar websocket
  -api-9.4.31.v20200723.jar javax.websocket-client-api-1.1.jar javax.serv
  let-api-4.0.1.jar log4j-core-2.13.1.jar log4j-api-2.13.1.jar flow-html-
  components-2.3.4.jar flow-data-2.3.4.jar flow-dnd-2.3.4.jar flow-server
  -2.3.4.jar flow-push-2.3.4.jar flow-client-2.3.4.jar vaadin-lumo-theme-
  2.3.4.jar vaadin-material-theme-2.3.4.jar vaadin-accordion-flow-2.1.0.j
  ar vaadin-app-layout-flow-2.1.0.jar vaadin-button-flow-2.1.0.jar vaadin
  -checkbox-flow-2.1.0.jar vaadin-combo-box-flow-3.1.0.jar vaadin-date-ti
  me-picker-flow-1.1.1.jar vaadin-date-picker-flow-2.1.0.jar vaadin-time-
  picker-flow-2.2.0.jar vaadin-select-flow-2.1.0.jar vaadin-dialog-flow-2
  .2.1.jar vaadin-details-flow-2.1.0.jar vaadin-form-layout-flow-2.1.0.ja
  r vaadin-grid-flow-4.2.2.jar vaadin-icons-flow-2.1.0.jar vaadin-iron-li
  st-flow-2.1.0.jar vaadin-list-box-flow-2.2.0.jar vaadin-notification-fl
  ow-2.1.0.jar vaadin-ordered-layout-flow-2.2.0.jar vaadin-progress-bar-f
  low-2.1.0.jar vaadin-radio-button-flow-2.1.0.jar vaadin-split-layout-fl
  ow-2.1.0.jar vaadin-tabs-flow-2.1.0.jar vaadin-text-field-flow-2.2.0.ja
  r vaadin-menu-bar-flow-1.1.0.jar vaadin-upload-flow-2.2.1.jar vaadin-co
  ntext-menu-flow-3.2.0.jar vaadin-login-flow-2.1.0.jar vaadin-custom-fie
  ld-flow-3.1.0.jar ph-css-6.1.1.jar ph-commons-9.1.2.jar atmosphere-runt
  ime-2.4.30.slf4jvaadin1.jar slf4j-api-1.7.30.jar jetty-client-9.4.31.v2
  0200723.jar jetty-http-9.4.31.v20200723.jar jetty-io-9.4.31.v20200723.j
  ar jetty-xml-9.4.31.v20200723.jar javax.annotation-api-1.3.jar asm-comm
  ons-7.3.1.jar asm-analysis-7.3.1.jar asm-tree-7.3.1.jar asm-7.3.1.jar j
  etty-jndi-9.4.31.v20200723.jar jetty-util-9.4.31.v20200723.jar javax.we
  bsocket-api-1.0.jar gwt-elemental-2.8.2.vaadin2.jar commons-fileupload-
  1.3.3.jar commons-io-2.5.jar jsoup-1.12.1.jar byte-buddy-1.10.9.jar gen
  tyref-1.2.0.vaadin1.jar commons-compress-1.19.jar httpclient-4.5.2.jar
  validation-api-2.0.0.Final.jar vaadin__vaadin-mobile-drag-drop-1.0.0.ja
  r mobile-drag-drop-2.3.0-rc.1.jar commons-lang3-3.0.jar httpcore-4.4.4.
  jar commons-logging-1.2.jar commons-codec-1.9.jar

So why this doesn't work?

Anyway.... you solved my blocking problem !!! I was here thinking about the problem since 3 days ago !!!!

Really really really THANKS a LOT !!!!

Happy new year too !

Regards,

S.

mvysny commented 3 years ago

Excellent, happy to hear that, and Happy New Year to you too 🎉 Probably META-INF/MANIFEST.MF is only used when running java -jar, or Jetty somehow ignores that? Hard to say.

Actually the little script is no longer used - if you check the master of https://github.com/mvysny/vaadin14-embedded-jetty-gradle you'll see the script is no longer around. Instead, the application Gradle plugin generates the script; please see https://github.com/mvysny/vaadin14-embedded-jetty-gradle#running-in-production-mode for more details.

Since the issue has been resolved, I'm closing this ticket :+1: