I have an MPR Vaadin 7 app. I currently am using Vaadin 14.0.7 ( I also tried this with 14.0.5 ). I was adding a Vaadin flow FormLayout to a view I am making. This is a pure Vaadin 14 view. I was adding a FormLayout to this new view and for some reason, when I run mvn jetty:run
I get the following:
19-09-30 16:55:14:589 INFO main dev-updater:149 - Scanning classes to find frontend configurations and dependencies...
19-09-30 16:55:20:864 INFO main dev-updater:161 - Visited 6861 classes. Took 6274 ms.
19-09-30 16:55:20:877 INFO main dev-updater:269 - Added "@vaadin/vaadin-grid": "5.4.9" line.
19-09-30 16:55:20:877 INFO main dev-updater:269 - Added "@vaadin/vaadin-icons": "4.3.1" line.
19-09-30 16:55:20:877 INFO main dev-updater:269 - Added "@vaadin/vaadin-split-layout": "4.1.1" line.
19-09-30 16:55:20:877 INFO main dev-updater:269 - Added "@vaadin/vaadin-combo-box": "5.0.6" line.
19-09-30 16:55:20:877 INFO main dev-updater:269 - Added "@vaadin/vaadin-core-shrinkwrap": "14.0.7" line.
19-09-30 16:55:20:878 INFO main dev-updater:269 - Added "@vaadin/vaadin-upload": "4.2.2" line.
19-09-30 16:55:20:878 INFO main dev-updater:269 - Added "@vaadin/vaadin-dialog": "2.2.1" line.
19-09-30 16:55:20:878 INFO main dev-updater:269 - Added "@vaadin/vaadin-select": "2.1.5" line.
19-09-30 16:55:20:878 INFO main dev-updater:269 - Added "@vaadin/vaadin-app-layout": "2.0.3" line.
19-09-30 16:55:20:878 INFO main dev-updater:269 - Added "@vaadin/vaadin-item": "2.1.0" line.
19-09-30 16:55:20:878 INFO main dev-updater:269 - Added "@vaadin/vaadin-notification": "1.4.0" line.
19-09-30 16:55:20:878 INFO main dev-updater:269 - Added "@vaadin/vaadin-progress-bar": "1.1.2" line.
19-09-30 16:55:20:879 INFO main dev-updater:269 - Added "@vaadin/vaadin-ordered-layout": "1.1.0" line.
19-09-30 16:55:20:880 INFO main dev-updater:269 - Added "@vaadin/vaadin-login": "1.0.1" line.
19-09-30 16:55:20:880 INFO main dev-updater:269 - Added "@vaadin/vaadin-button": "2.2.1" line.
19-09-30 16:55:20:880 INFO main dev-updater:269 - Added "@vaadin/vaadin-date-picker": "4.0.3" line.
19-09-30 16:55:20:880 INFO main dev-updater:269 - Added "@vaadin/vaadin-text-field": "2.4.11" line.
19-09-30 16:55:20:880 INFO main dev-updater:269 - Added "@vaadin/vaadin-menu-bar": "1.0.3" line.
19-09-30 16:55:20:880 INFO main dev-updater:269 - Added "@vaadin/vaadin-custom-field": "1.0.6" line.
19-09-30 16:55:20:881 INFO main dev-updater:269 - Added "@vaadin/vaadin-form-layout": "2.1.6" line.
19-09-30 16:55:20:881 INFO main dev-updater:269 - Added "@polymer/iron-list": "3.0.2" line.
19-09-30 16:55:20:881 INFO main dev-updater:269 - Added "@vaadin/vaadin-accordion": "1.0.1" line.
19-09-30 16:55:20:881 INFO main dev-updater:269 - Added "@vaadin/vaadin-list-box": "1.1.1" line.
19-09-30 16:55:20:881 INFO main dev-updater:269 - Added "@vaadin/vaadin-checkbox": "2.2.10" line.
19-09-30 16:55:20:881 INFO main dev-updater:269 - Added "@vaadin/vaadin-details": "1.0.1" line.
19-09-30 16:55:20:881 INFO main dev-updater:269 - Added "@polymer/iron-icon": "3.0.1" line.
19-09-30 16:55:20:881 INFO main dev-updater:269 - Added "@vaadin/vaadin-time-picker": "2.0.2" line.
19-09-30 16:55:20:882 INFO main dev-updater:269 - Added "@vaadin/vaadin-context-menu": "4.3.12" line.
19-09-30 16:55:20:882 INFO main dev-updater:269 - Added "@vaadin/vaadin-tabs": "3.0.4" line.
19-09-30 16:55:20:882 INFO main dev-updater:269 - Added "@vaadin/vaadin-radio-button": "1.2.3" line.
19-09-30 16:55:20:882 INFO main dev-updater:269 - Added "@vaadin/vaadin-lumo-styles": "1.5.0" line.
19-09-30 16:55:20:882 INFO main dev-updater:269 - Added "@vaadin/vaadin-material-styles": "1.2.3" line.
19-09-30 16:55:20:896 INFO main dev-updater:286 - Updated npm D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend\package.json.
19-09-30 16:55:20:906 INFO main dev-updater:286 - Updated npm D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\package.json.
19-09-30 16:55:20:908 INFO main dev-updater:54 - Running `npm install` ...
npm WARN no-name@ No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
added 9 packages from 2 contributors and audited 17647 packages in 8.813s
found 0 vulnerabilities
19-09-30 16:55:31:533 INFO main dev-updater:103 - package.json updated and npm dependencies installed.
19-09-30 16:55:31:533 INFO main dev-updater:67 - Copying frontend resources from jar files ...
19-09-30 16:55:31:589 INFO main dev-updater:89 - Visited 9 resources. Took 55 ms.
19-09-30 16:55:31:591 WARN main dev-updater:175 - Use the './' prefix for files in JAR files: 'flow-component-renderer.js', please update your component.
19-09-30 16:55:31:608 INFO main dev-updater:306 -
Failed to find the following imports in the `node_modules` tree:
- @vaadin/vaadin-form-layout/src/vaadin-form-item.js
- @vaadin/vaadin-app-layout/src/vaadin-app-layout.js
- @vaadin/vaadin-app-layout/src/vaadin-drawer-toggle.js
- @vaadin/vaadin-form-layout/src/vaadin-form-layout.js
If the build fails, check that npm packages are installed.
To fix the build remove `node_modules` directory to reset modules.
In addition you may run `npm install` to fix `node_modules` tree structure.
Later I get this:
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - ERROR in ../target/frontend/generated-flow-imports.js
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - Module not found: Error: Can't resolve '@vaadin/vaadin-app-layout/src/vaadin-app-layout.js' in 'D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend'
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - @ ../target/frontend/generated-flow-imports.js 17:0-60
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 -
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - ERROR in ../target/frontend/generated-flow-imports.js
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - Module not found: Error: Can't resolve '@vaadin/vaadin-app-layout/src/vaadin-app-layout.js' in 'D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend'
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - @ ../target/frontend/generated-flow-imports.js 17:0-60
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 -
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - ERROR in ../target/frontend/generated-flow-imports.js
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - Module not found: Error: Can't resolve '@vaadin/vaadin-app-layout/src/vaadin-drawer-toggle.js' in 'D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend'
19-09-30 16:55:37:694 ERROR webpack dev-webpack:447 - @ ../target/frontend/generated-flow-imports.js 16:0-63
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 -
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 - ERROR in ../target/frontend/generated-flow-imports.js
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 - Module not found: Error: Can't resolve '@vaadin/vaadin-app-layout/src/vaadin-drawer-toggle.js' in 'D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend'
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 - @ ../target/frontend/generated-flow-imports.js 16:0-63
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 -
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 - ERROR in ../target/frontend/generated-flow-imports.js
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 - Module not found: Error: Can't resolve '@vaadin/vaadin-form-layout/src/vaadin-form-item.js' in 'D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend'
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 - @ ../target/frontend/generated-flow-imports.js 20:0-60
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 -
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 - ERROR in ../target/frontend/generated-flow-imports.js
19-09-30 16:55:37:695 ERROR webpack dev-webpack:447 - Module not found: Error: Can't resolve '@vaadin/vaadin-form-layout/src/vaadin-form-item.js' in 'D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend'
19-09-30 16:55:37:696 ERROR webpack dev-webpack:447 - @ ../target/frontend/generated-flow-imports.js 20:0-60
19-09-30 16:55:37:696 ERROR webpack dev-webpack:447 -
19-09-30 16:55:37:696 ERROR webpack dev-webpack:447 - ERROR in ../target/frontend/generated-flow-imports.js
19-09-30 16:55:37:696 ERROR webpack dev-webpack:447 - Module not found: Error: Can't resolve '@vaadin/vaadin-form-layout/src/vaadin-form-layout.js' in 'D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend'
19-09-30 16:55:37:696 ERROR webpack dev-webpack:447 - @ ../target/frontend/generated-flow-imports.js 19:0-62
19-09-30 16:55:37:696 ERROR webpack dev-webpack:447 -
19-09-30 16:55:37:696 ERROR webpack dev-webpack:447 - ERROR in ../target/frontend/generated-flow-imports.js
19-09-30 16:55:37:697 ERROR webpack dev-webpack:447 - Module not found: Error: Can't resolve '@vaadin/vaadin-form-layout/src/vaadin-form-layout.js' in 'D:\tonybaldarelli\Documents\workspaces\eclipse-ide-for-java-ee-developers\vaadinwebsite\target\frontend'
19-09-30 16:55:37:697 ERROR webpack dev-webpack:447 - @ ../target/frontend/generated-flow-imports.js 19:0-62
19-09-30 16:55:37:697 ERROR webpack dev-webpack:447 - i ?wdm?: Failed to compile.
19-09-30 16:55:37:697 ERROR webpack dev-webpack:447 -
------------------ Frontend compilation failed. -----------------
If I remove my FormLayout reference, things still fail because now it is rejecting AppLayout ( see above errors ). What is really weird is that the AppLayout code has been there for awhile ( it is not used, was more of an experiment ). Here is the corresponding Java code, if you are curious. It is just weird that the act of adding FormLayout messed up not just FormLayout, but also AppLayout. What is happening?
package com.mobiwms.website;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import com.mobiwms.website.data.DataProvider;
import com.vaadin.flow.component.UI;
import com.vaadin.flow.component.formlayout.FormLayout;
import com.vaadin.flow.component.html.Label;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.textfield.TextField;
import com.vaadin.flow.router.BeforeEvent;
import com.vaadin.flow.router.HasUrlParameter;
import com.vaadin.flow.router.Location;
import com.vaadin.flow.router.OptionalParameter;
import com.vaadin.flow.router.PageTitle;
import com.vaadin.flow.router.QueryParameters;
import com.vaadin.flow.router.Route;
import com.vaadin.flow.router.RouterLink;
import com.vaadin.flow.server.InitialPageSettings;
import com.vaadin.flow.server.PageConfigurator;
@PageTitle("Turnsmith 2.0 Logout")
@Route("logout")
public class Logout extends VerticalLayout implements HasUrlParameter<String>,PageConfigurator {
/**
*
*/
private static final long serialVersionUID = -5016747819336378180L;
private final TextField logoutBackendSessionInfo = new TextField();
private final TextField logoutUserIdInfo = new TextField();
private final TextField logoutUiInfo = new TextField();
private final TextField logoutVaadinSessionInfo = new TextField();
public Logout() {
super();
Label logoutSuccess = new Label("Logout Successfull");
add( logoutSuccess);
FormLayout logoutInfo = new FormLayout(
logoutBackendSessionInfo, logoutUserIdInfo, logoutUiInfo, logoutVaadinSessionInfo);
logoutBackendSessionInfo.setVisible(false);
logoutUserIdInfo.setVisible(false);
logoutUiInfo.setVisible(false);
logoutVaadinSessionInfo.setVisible(false);
add( logoutInfo );
RouterLink link = new RouterLink("Return to website", WmsEntryPoint.class);
add( link );
if( WmsEntryPoint.getDataProvider() instanceof DataProvider )
{
String websiteName = WmsEntryPoint.getDataProvider().getWebsiteName();
if( websiteName instanceof String && !websiteName.trim().isEmpty() )
UI.getCurrent().getPage().setTitle(websiteName + " Logout");
}
}
@Override
public void setParameter(BeforeEvent event, @OptionalParameter String parameter) {
Location location = event.getLocation();
if( location instanceof Location && location.getQueryParameters() instanceof QueryParameters )
{
QueryParameters queryParameters = location
.getQueryParameters();
Map<String, List<String>> parametersMap = queryParameters.getParameters();
if( parametersMap.get("webClientSession") instanceof List &&
parametersMap.get("webClientSession").size() >= 1 )
{
logoutBackendSessionInfo.setReadOnly(false);
if( parametersMap.get("webClientSession").size() == 1 )
logoutBackendSessionInfo.setLabel("Backend session");
else
logoutBackendSessionInfo.setLabel("Backend sessions" );
logoutBackendSessionInfo.setValue(StringUtils.join(parametersMap.get("webClientSession"), ", ") );
logoutBackendSessionInfo.setVisible(true);
logoutBackendSessionInfo.setReadOnly(true);
}
else
logoutBackendSessionInfo.setVisible(false);
if( parametersMap.get("userId") instanceof List &&
parametersMap.get("userId").size() >= 1 )
{
logoutUserIdInfo.setReadOnly(false);
if( parametersMap.get("userId").size() == 1 )
logoutUserIdInfo.setLabel("User id");
else
logoutUserIdInfo.setLabel("User ids");
logoutUserIdInfo.setValue(StringUtils.join(parametersMap.get("userId"), ", ") );
logoutUserIdInfo.setVisible(true);
logoutUserIdInfo.setReadOnly(true);
}
else
logoutUserIdInfo.setVisible(false);
if( parametersMap.get("ui") instanceof List &&
parametersMap.get("ui").size() > 1 )
{
logoutUiInfo.setReadOnly(false);
if( parametersMap.get("ui").size() == 1 )
logoutUiInfo.setLabel("UI");
else
logoutUiInfo.setLabel("UIs");
logoutUiInfo.setValue(StringUtils.join(parametersMap.get("ui"), ", ") );
logoutUiInfo.setVisible(true);
logoutUiInfo.setReadOnly(true);
}
else
logoutUiInfo.setVisible(false);
if( parametersMap.get("vaadinSession") instanceof List &&
parametersMap.get("vaadinSession").size() > 1 )
{
logoutVaadinSessionInfo.setReadOnly(false);
if( parametersMap.get("vaadinSession").size() == 1 )
logoutVaadinSessionInfo.setLabel("Frontend session");
else
logoutVaadinSessionInfo.setLabel("Frontend sessions");
logoutVaadinSessionInfo.setValue(StringUtils.join(parametersMap.get("vaadinSession"), ", ") );
logoutVaadinSessionInfo.setVisible(true);
logoutVaadinSessionInfo.setReadOnly(true);
}
else
logoutVaadinSessionInfo.setVisible(false);
}
else
{
logoutBackendSessionInfo.setVisible(false);
logoutUserIdInfo.setVisible(false);
logoutUiInfo.setVisible(false);
logoutVaadinSessionInfo.setVisible(false);
}
}
@Override
public void configurePage(InitialPageSettings settings) {
settings.addFavIcon("icon", "images/favicons/favicon.ico", "256x256");
}
}