Hello everyone. I am trying to get up to speed on OpenEMS and its various components. I understand the overall architecture much better now after reading all of the documentation 3 times.
I also have OpenEMS Edge running well on a Raspberry Pi 5. I am also using a Raspberry Pi 4 as a temporary OpenEMS Backend server. I cannot yet run the UI from my Mac but I believe it has something to do with real user authentication.
I would now like to understand how to implement user authentication using something like Odoo. I have decided that the best way to learn how to do that is from the Live-Demo.
When I go to run the demo using either Dashboard or Dashboard, I get an error when its trying to build OpenEMS Edge on the second terminal output. I have tried both VS Code in the browser option and Desktop.
Here is the error that it cannot seem to get past after this command “./gradlew build buildEdge -x test”:
Picked up JAVA_TOOL_OPTIONS: -Xmx3489m
> Task :io.openems.common:jar FAILED
warning: Export-Package duplicate package name (io.openems.common) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.channel) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.event) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.exceptions) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.function) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.jsonrpc.base) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.jsonrpc.notification) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.jsonrpc.request) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.jsonrpc.response) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.session) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.test) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.timedata) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.types) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.utils) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.websocket) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
warning: Export-Package duplicate package name (io.openems.common.worker) that uses the default version because no version is specified (1.0.0). Remove duplicate package or add an explicit version to it.
error : Classes found in the wrong directory: {main/io/openems/common/exceptions/InvalidValueException.class=io.openems.common.exceptions.InvalidValueException, test/io/openems/common/utils/CollectorUtilsTest.class=io.openems.common.utils.CollectorUtilsTest, test/io/openems/common/utils/JsonrpcUtilsTest.class=io.openems.common.utils.JsonrpcUtilsTest, main/io/openems/common/timedata/Resolution.class=io.openems.common.timedata.Resolution, main/io/openems/common/jsonrpc/request/AppCenterInstallAppWithSuppliedKeyRequest.class=io.openems.common.jsonrpc.request.AppCenterInstallAppWithSuppliedKeyRequest, main/io/openems/common/utils/DoubleUtils.class=io.openems.common.utils.DoubleUtils, main/io/openems/common/function/package-info.class=io.openems.common.function.package-info, main/io/openems/common/jsonrpc/response/QueryHistoricTimeseriesEnergyResponse.class=io.openems.common.jsonrpc.response.QueryHistoricTimeseriesEnergyResponse, test/io/openems/common/worker/AbstractCycleWorkerTest$1.class=io.openems.common.worker.AbstractCycleWorkerTest$1, main/io/openems/common/jsonrpc/response/GetEdgesResponse$EdgeMetadata.class=io.openems.common.jsonrpc.response.GetEdgesResponse$EdgeMetadata, main/io/openems/common/channel/Level.class=io.openems.common.channel.Level, main/io/openems/common/jsonrpc/base/JsonrpcRequest.class=io.openems.common.jsonrpc.base.JsonrpcRequest, test/io/openems/common/utils/DateUtilsTest.class=io.openems.common.utils.DateUtilsTest, main/io/openems/common/jsonrpc/response/AuthenticateResponse.class=io.openems.common.jsonrpc.response.AuthenticateResponse, main/io/openems/common/websocket/package-info.class=io.openems.common.websocket.package-info, main/io/openems/common/jsonrpc/response/AppCenterIsKeyApplicableResponse$Registration.class=io.openems.common.jsonrpc.response.AppCenterIsKeyApplicableResponse$Registration, main/io/openems/common/utils/UuidUtils.class=io.openems.common.utils.UuidUtils, main/io/openems/common/channel/Debounce.class=io.openems.common.channel.Debounce, main/io/openems/common/jsonrpc/notification/SystemLogNotification.class=io.openems.common.jsonrpc.notification.SystemLogNotification, main/io/openems/common/jsonrpc/request/SetGridConnScheduleRequest.class=io.openems.common.jsonrpc.request.SetGridConnScheduleRequest, main/io/openems/common/jsonrpc/base/JsonrpcResponseSuccess.class=io.openems.common.jsonrpc.base.JsonrpcResponseSuccess, main/io/openems/common/test/TimeLeapClock.class=io.openems.common.test.TimeLeapClock, main/io/openems/common/jsonrpc/response/QueryHistoricTimeseriesEnergyPerPeriodResponse.class=io.openems.common.jsonrpc.response.QueryHistoricTimeseriesEnergyPerPeriodResponse, main/io/openems/common/jsonrpc/request/ComponentJsonApiRequest.class=io.openems.common.jsonrpc.request.ComponentJsonApiRequest, main/io/openems/common/websocket/DummyWebsocketServer$Builder.class=io.openems.common.websocket.DummyWebsocketServer$Builder, main/io/openems/common/utils/ReflectionUtils.class=io.openems.common.utils.ReflectionUtils, main/io/openems/common/websocket/OnOpen.class=io.openems.common.websocket.OnOpen, main/io/openems/common/jsonrpc/base/JsonrpcNotification.class=io.openems.common.jsonrpc.base.JsonrpcNotification, main/io/openems/common/jsonrpc/request/QueryHistoricTimeseriesExportXlxsRequest.class=io.openems.common.jsonrpc.request.QueryHistoricTimeseriesExportXlxsRequest, main/io/openems/common/jsonrpc/request/SubscribeChannelsRequest.class=io.openems.common.jsonrpc.request.SubscribeChannelsRequest, main/io/openems/common/jsonrpc/base/AbstractJsonrpcRequest.class=io.openems.common.jsonrpc.base.AbstractJsonrpcRequest, main/io/openems/common/jsonrpc/base/DeprecatedJsonrpcNotification.class=io.openems.common.jsonrpc.base.DeprecatedJsonrpcNotification, main/io/openems/common/channel/package-info.class=io.openems.common.channel.package-info, main/io/openems/common/exceptions/package-info.class=io.openems.common.exceptions.package-info, main/io/openems/common/jsonrpc/response/QueryHistoricTimeseriesExportXlsxResponse$Channel.class=io.openems.common.jsonrpc.response.QueryHistoricTimeseriesExportXlsxResponse$Channel, main/io/openems/common/function/ThrowingFunction.class=io.openems.common.function.ThrowingFunction, main/io/openems/common/function/ThrowingConsumer.class=io.openems.common.function.ThrowingConsumer, main/io/openems/common/types/EdgeConfig.class=io.openems.common.types.EdgeConfig, main/io/openems/common/exceptions/AccessDeniedException.class=io.openems.common.exceptions.AccessDeniedException, main/io/openems/common/types/EdgeConfig$Component$Channel$ChannelDetailEnum.class=io.openems.common.types.EdgeConfig$Component$Channel$ChannelDetailEnum, main/io/openems/common/utils/ThreadPoolUtils.class=io.openems.common.utils.ThreadPoolUtils, main/io/openems/common/utils/ConfigUtils.class=io.openems.common.utils.ConfigUtils, main/io/openems/common/exceptions/OpenemsError.class=io.openems.common.exceptions.OpenemsError, main/io/openems/common/jsonrpc/base/JsonrpcMessage.class=io.openems.common.jsonrpc.base.JsonrpcMessage, main/io/openems/common/types/EdgeConfig$Component$Channel$ChannelDetail.class=io.openems.common.types.EdgeConfig$Component$Channel$ChannelDetail, main/io/openems/common/jsonrpc/response/GetEdgesResponse.class=io.openems.common.jsonrpc.response.GetEdgesResponse, main/io/openems/common/jsonrpc/base/GenericJsonrpcNotification.class=io.openems.common.jsonrpc.base.GenericJsonrpcNotification, main/io/openems/common/websocket/OnCloseHandler.class=io.openems.common.websocket.OnCloseHandler, main/io/openems/common/types/EdgeConfig$Component$Channel$ChannelDetailOpenemsType.class=io.openems.common.types.EdgeConfig$Component$Channel$ChannelDetailOpenemsType, main/io/openems/common/websocket/OnRequestHandler.class=io.openems.common.websocket.OnRequestHandler, main/io/openems/common/utils/JsonUtils$JsonArrayBuilder.class=io.openems.common.utils.JsonUtils$JsonArrayBuilder, main/io/openems/common/websocket/AbstractWebsocketServer.class=io.openems.common.websocket.AbstractWebsocketServer, main/io/openems/common/utils/JsonUtils$JsonArrayCollector.class=io.openems.common.utils.JsonUtils$JsonArrayCollector, main/io/openems/common/utils/StringUtils.class=io.openems.common.utils.StringUtils, main/io/openems/common/websocket/OnError.class=io.openems.common.websocket.OnError, main/io/openems/common/types/EdgeConfigDiff$ComponentDiff$OldNewProperty.class=io.openems.common.types.EdgeConfigDiff$ComponentDiff$OldNewProperty, main/io/openems/common/jsonrpc/request/SetGridConnScheduleRequest$GridConnSchedule.class=io.openems.common.jsonrpc.request.SetGridConnScheduleRequest$GridConnSchedule, main/io/openems/common/jsonrpc/base/JsonrpcResponse.class=io.openems.common.jsonrpc.base.JsonrpcResponse, main/io/openems/common/types/EdgeConfig$Component$Channel.class=io.openems.common.types.EdgeConfig$Component$Channel, main/io/openems/common/utils/JsonrpcUtils.class=io.openems.common.utils.JsonrpcUtils, main/io/openems/common/jsonrpc/response/AppCenterGetPossibleAppsResponse$App.class=io.openems.common.jsonrpc.response.AppCenterGetPossibleAppsResponse$App, main/io/openems/common/websocket/WebsocketUtils.class=io.openems.common.websocket.WebsocketUtils, test/io/openems/common/websocket/ClientReconnectorWorkerTest$MyWsData.class=io.openems.common.websocket.ClientReconnectorWorkerTest$MyWsData, main/io/openems/common/OpenemsOEM$Manufacturer.class=io.openems.common.OpenemsOEM$Manufacturer, main/io/openems/common/types/EdgeConfig$Factory$Property.class=io.openems.common.types.EdgeConfig$Factory$Property, main/io/openems/common/exceptions/OpenemsException.class=io.openems.common.exceptions.OpenemsException, main/io/openems/common/event/EventBuilder.class=io.openems.common.event.EventBuilder, main/io/openems/common/jsonrpc/request/AuthenticateWithTokenRequest.class=io.openems.common.jsonrpc.request.AuthenticateWithTokenRequest, main/io/openems/common/types/SystemLog$Level.class=io.openems.common.types.SystemLog$Level, test/io/openems/common/utils/JsonUtilsTest.class=io.openems.common.utils.JsonUtilsTest, main/io/openems/common/session/Role.class=io.openems.common.session.Role, main/io/openems/common/websocket/ClientReconnectorWorker.class=io.openems.common.websocket.ClientReconnectorWorker, main/io/openems/common/websocket/OnResponseHandler.class=io.openems.common.websocket.OnResponseHandler, main/io/openems/common/jsonrpc/request/DeleteComponentConfigRequest.class=io.openems.common.jsonrpc.request.DeleteComponentConfigRequest, main/io/openems/common/utils/IntUtils.class=io.openems.common.utils.IntUtils, main/io/openems/common/worker/AbstractImmediateWorker.class=io.openems.common.worker.AbstractImmediateWorker, main/io/openems/common/types/EdgeConfigDiff$ComponentDiff$Change.class=io.openems.common.types.EdgeConfigDiff$ComponentDiff$Change, main/io/openems/common/exceptions/NotImplementedException.class=io.openems.common.exceptions.NotImplementedException, main/io/openems/common/channel/ChannelCategory.class=io.openems.common.channel.ChannelCategory, main/io/openems/common/jsonrpc/request/CreateComponentConfigRequest.class=io.openems.common.jsonrpc.request.CreateComponentConfigRequest, main/io/openems/common/types/EdgeConfigDiff.class=io.openems.common.types.EdgeConfigDiff, main/io/openems/common/jsonrpc/request/package-info.class=io.openems.common.jsonrpc.request.package-info, main/io/openems/common/test/package-info.class=io.openems.common.test.package-info, main/io/openems/common/types/package-info.class=io.openems.common.types.package-info, main/io/openems/common/jsonrpc/request/GetEdgesRequest.class=io.openems.common.jsonrpc.request.GetEdgesRequest, main/io/openems/common/websocket/AbstractWebsocketClient.class=io.openems.common.websocket.AbstractWebsocketClient, main/io/openems/common/utils/ServiceUtils.class=io.openems.common.utils.ServiceUtils, main/io/openems/common/jsonrpc/request/AuthenticateWithPasswordRequest.class=io.openems.common.jsonrpc.request.AuthenticateWithPasswordRequest, main/io/openems/common/jsonrpc/response/AppCenterIsAppFreeResponse.class=io.openems.common.jsonrpc.response.AppCenterIsAppFreeResponse, main/io/openems/common/OpenemsOEM.class=io.openems.common.OpenemsOEM, main/io/openems/common/session/Language.class=io.openems.common.session.Language, main/io/openems/common/jsonrpc/base/JsonrpcResponseError.class=io.openems.common.jsonrpc.base.JsonrpcResponseError, main/io/openems/common/function/ThrowingTriConsumer.class=io.openems.common.function.ThrowingTriConsumer, main/io/openems/common/function/ThrowingBiFunction.class=io.openems.common.function.ThrowingBiFunction, main/io/openems/common/utils/JsonUtils$JsonObjectBuilder.class=io.openems.common.utils.JsonUtils$JsonObjectBuilder, test/io/openems/common/event/EventBuilderTest.class=io.openems.common.event.EventBuilderTest, main/io/openems/common/jsonrpc/request/AppCenterIsAppFreeRequest.class=io.openems.common.jsonrpc.request.AppCenterIsAppFreeRequest, main/io/openems/common/test/AbstractComponentConfig.class=io.openems.common.test.AbstractComponentConfig, main/io/openems/common/jsonrpc/request/AuthenticatedRpcRequest.class=io.openems.common.jsonrpc.request.AuthenticatedRpcRequest, main/io/openems/common/event/EventReader.class=io.openems.common.event.EventReader, main/io/openems/common/function/ThrowingRunnable.class=io.openems.common.function.ThrowingRunnable, main/io/openems/common/timedata/CommonTimedataService.class=io.openems.common.timedata.CommonTimedataService, main/io/openems/common/utils/EnumUtils.class=io.openems.common.utils.EnumUtils, main/io/openems/common/types/OpenemsType.class=io.openems.common.types.OpenemsType, main/io/openems/common/utils/PasswordUtils.class=io.openems.common.utils.PasswordUtils, main/io/openems/common/websocket/OnClose.class=io.openems.common.websocket.OnClose, main/io/openems/common/channel/PersistencePriority.class=io.openems.common.channel.PersistencePriority, main/io/openems/common/types/ConfigurationProperty.class=io.openems.common.types.ConfigurationProperty, main/io/openems/common/jsonrpc/notification/TimestampedDataNotification.class=io.openems.common.jsonrpc.notification.TimestampedDataNotification, main/io/openems/common/jsonrpc/request/AppCenterAddInstallInstanceHistoryRequest.class=io.openems.common.jsonrpc.request.AppCenterAddInstallInstanceHistoryRequest, main/io/openems/common/jsonrpc/response/QueryHistoricTimeseriesExportXlsxResponse.class=io.openems.common.jsonrpc.response.QueryHistoricTimeseriesExportXlsxResponse, main/io/openems/common/types/EdgeConfig$ActualEdgeConfig.class=io.openems.common.types.EdgeConfig$ActualEdgeConfig, main/io/openems/common/jsonrpc/response/GetEdgeResponse.class=io.openems.common.jsonrpc.response.GetEdgeResponse, main/io/openems/common/jsonrpc/request/AppCenterIsKeyApplicableRequest.class=io.openems.common.jsonrpc.request.AppCenterIsKeyApplicableRequest, main/io/openems/common/jsonrpc/request/AppCenterRequest.class=io.openems.common.jsonrpc.request.AppCenterRequest, test/io/openems/common/utils/ConfigUtilsTest.class=io.openems.common.utils.ConfigUtilsTest, main/io/openems/common/worker/AbstractWorker$1.class=io.openems.common.worker.AbstractWorker$1, main/io/openems/common/jsonrpc/response/AppCenterIsKeyApplicableResponse$AdditionalInfo.class=io.openems.common.jsonrpc.response.AppCenterIsKeyApplicableResponse$AdditionalInfo, main/io/openems/common/jsonrpc/response/Base64PayloadResponse.class=io.openems.common.jsonrpc.response.Base64PayloadResponse, test/io/openems/common/timedata/CommonTimedataServiceTest.class=io.openems.common.timedata.CommonTimedataServiceTest, main/io/openems/common/jsonrpc/response/EdgeRpcResponse.class=io.openems.common.jsonrpc.response.EdgeRpcResponse, main/io/openems/common/jsonrpc/request/AppCenterAddUnregisterKeyHistoryRequest.class=io.openems.common.jsonrpc.request.AppCenterAddUnregisterKeyHistoryRequest, main/io/openems/common/worker/AbstractWorker.class=io.openems.common.worker.AbstractWorker, test/io/openems/common/channel/UnitTest.class=io.openems.common.channel.UnitTest, main/io/openems/common/function/ThrowingSupplier.class=io.openems.common.function.ThrowingSupplier, main/io/openems/common/websocket/OnOpenHandler.class=io.openems.common.websocket.OnOpenHandler, main/io/openems/common/jsonrpc/request/GetEdgeRequest.class=io.openems.common.jsonrpc.request.GetEdgeRequest, main/io/openems/common/websocket/OnErrorHandler.class=io.openems.common.websocket.OnErrorHandler, main/io/openems/common/websocket/OnInternalError.class=io.openems.common.websocket.OnInternalError, main/io/openems/common/websocket/OnNotificationHandler.class=io.openems.common.websocket.OnNotificationHandler, main/io/openems/common/exceptions/OpenemsError$OpenemsNamedException.class=io.openems.common.exceptions.OpenemsError$OpenemsNamedException, main/io/openems/common/function/BooleanConsumer.class=io.openems.common.function.BooleanConsumer, main/io/openems/common/websocket/OnRequest.class=io.openems.common.websocket.OnRequest, main/io/openems/common/jsonrpc/notification/package-info.class=io.openems.common.jsonrpc.notification.package-info, test/io/openems/common/event/EventBuilderTest$TestClass.class=io.openems.common.event.EventBuilderTest$TestClass, main/io/openems/common/jsonrpc/response/GetEdgeConfigResponse.class=io.openems.common.jsonrpc.response.GetEdgeConfigResponse, main/io/openems/common/jsonrpc/request/AddAppInstanceRequest.class=io.openems.common.jsonrpc.request.AddAppInstanceRequest, main/io/openems/common/types/SemanticVersion.class=io.openems.common.types.SemanticVersion, main/io/openems/common/websocket/DummyWebsocketServer.class=io.openems.common.websocket.DummyWebsocketServer, main/io/openems/common/types/EdgeConfigDiff$ComponentDiff.class=io.openems.common.types.EdgeConfigDiff$ComponentDiff, main/io/openems/common/jsonrpc/request/AppCenterGetInstalledAppsRequest.class=io.openems.common.jsonrpc.request.AppCenterGetInstalledAppsRequest, main/io/openems/common/utils/ServiceUtils$CloseableService.class=io.openems.common.utils.ServiceUtils$CloseableService, main/io/openems/common/channel/AccessMode.class=io.openems.common.channel.AccessMode, main/io/openems/common/jsonrpc/base/package-info.class=io.openems.common.jsonrpc.base.package-info, main/io/openems/common/websocket/WsData.class=io.openems.common.websocket.WsData, main/io/openems/common/utils/package-info.class=io.openems.common.utils.package-info, main/io/openems/common/utils/Mutex.class=io.openems.common.utils.Mutex, main/io/openems/common/timedata/package-info.class=io.openems.common.timedata.package-info, main/io/openems/common/OpenemsConstants.class=io.openems.common.OpenemsConstants, main/io/openems/common/jsonrpc/notification/LogMessageNotification.class=io.openems.common.jsonrpc.notification.LogMessageNotification, main/io/openems/common/jsonrpc/response/AppCenterIsKeyApplicableResponse.class=io.openems.common.jsonrpc.response.AppCenterIsKeyApplicableResponse, main/io/openems/common/utils/ObjectUtils.class=io.openems.common.utils.ObjectUtils, main/io/openems/common/jsonrpc/notification/ResendDataNotification.class=io.openems.common.jsonrpc.notification.ResendDataNotification, main/io/openems/common/jsonrpc/response/AppCenterGetPossibleAppsResponse$Bundle.class=io.openems.common.jsonrpc.response.AppCenterGetPossibleAppsResponse$Bundle, main/io/openems/common/websocket/OnInternalErrorHandler.class=io.openems.common.websocket.OnInternalErrorHandler, main/io/openems/common/websocket/AbstractWebsocketClient$1.class=io.openems.common.websocket.AbstractWebsocketClient$1, main/io/openems/common/jsonrpc/request/AppCenterGetPossibleAppsRequest.class=io.openems.common.jsonrpc.request.AppCenterGetPossibleAppsRequest, main/io/openems/common/jsonrpc/notification/AggregatedDataNotification.class=io.openems.common.jsonrpc.notification.AggregatedDataNotification, main/io/openems/common/jsonrpc/notification/EdgeConfigNotification.class=io.openems.common.jsonrpc.notification.EdgeConfigNotification, main/io/openems/common/utils/CollectorUtils.class=io.openems.common.utils.CollectorUtils, main/io/openems/common/utils/SecureRandomSingleton.class=io.openems.common.utils.SecureRandomSingleton, main/io/openems/common/websocket/OnNotification.class=io.openems.common.websocket.OnNotification, main/io/openems/common/utils/XmlUtils$1.class=io.openems.common.utils.XmlUtils$1, main/io/openems/common/websocket/DummyWsData.class=io.openems.common.websocket.DummyWsData, main/io/openems/common/types/SystemLog.class=io.openems.common.types.SystemLog, main/io/openems/common/jsonrpc/response/QueryHistoricTimeseriesExportXlsxResponse$XlsxUtils.class=io.openems.common.jsonrpc.response.QueryHistoricTimeseriesExportXlsxResponse$XlsxUtils, main/io/openems/common/websocket/AbstractWebsocket.class=io.openems.common.websocket.AbstractWebsocket, main/io/openems/common/jsonrpc/request/SetChannelValueRequest.class=io.openems.common.jsonrpc.request.SetChannelValueRequest, main/io/openems/common/types/EdgeConfig$Factory.class=io.openems.common.types.EdgeConfig$Factory, main/io/openems/common/jsonrpc/request/AppCenterAddRegisterKeyHistoryRequest.class=io.openems.common.jsonrpc.request.AppCenterAddRegisterKeyHistoryRequest, main/io/openems/common/jsonrpc/base/GenericJsonrpcResponseSuccess.class=io.openems.common.jsonrpc.base.GenericJsonrpcResponseSuccess, main/io/openems/common/test/DummyOptionsEnum.class=io.openems.common.test.DummyOptionsEnum, main/io/openems/common/jsonrpc/response/QueryHistoricTimeseriesDataResponse.class=io.openems.common.jsonrpc.response.QueryHistoricTimeseriesDataResponse, main/io/openems/common/jsonrpc/request/UpdateComponentConfigRequest$Property.class=io.openems.common.jsonrpc.request.UpdateComponentConfigRequest$Property, main/io/openems/common/jsonrpc/request/GetEdgesRequest$PaginationOptions.class=io.openems.common.jsonrpc.request.GetEdgesRequest$PaginationOptions, main/io/openems/common/jsonrpc/response/package-info.class=io.openems.common.jsonrpc.response.package-info, test/io/openems/common/websocket/ClientReconnectorWorkerTest$MyWebsocketClient.class=io.openems.common.websocket.ClientReconnectorWorkerTest$MyWebsocketClient, main/io/openems/common/jsonrpc/response/AppCenterGetInstalledAppsResponse.class=io.openems.common.jsonrpc.response.AppCenterGetInstalledAppsResponse, main/io/openems/common/jsonrpc/request/AppCenterGetRegisteredKeysRequest.class=io.openems.common.jsonrpc.request.AppCenterGetRegisteredKeysRequest, main/io/openems/common/jsonrpc/notification/EdgeRpcNotification.class=io.openems.common.jsonrpc.notification.EdgeRpcNotification, main/io/openems/common/jsonrpc/request/LogoutRequest.class=io.openems.common.jsonrpc.request.LogoutRequest, main/io/openems/common/types/EdgeConfig$Component$JsonFormat.class=io.openems.common.types.EdgeConfig$Component$JsonFormat, main/io/openems/common/function/ThrowingBiConsumer.class=io.openems.common.function.ThrowingBiConsumer, main/io/openems/common/jsonrpc/request/QueryHistoricTimeseriesEnergyRequest.class=io.openems.common.jsonrpc.request.QueryHistoricTimeseriesEnergyRequest, test/io/openems/common/event/EventBuilderTest$EventAdminTest.class=io.openems.common.event.EventBuilderTest$EventAdminTest, main/io/openems/common/jsonrpc/base/GenericJsonrpcRequest.class=io.openems.common.jsonrpc.base.GenericJsonrpcRequest, main/io/openems/common/utils/IntUtils$Round.class=io.openems.common.utils.IntUtils$Round, main/io/openems/common/utils/XmlUtils.class=io.openems.common.utils.XmlUtils, main/io/openems/common/worker/AbstractCycleWorker.class=io.openems.common.worker.AbstractCycleWorker, test/io/openems/common/utils/StringUtilsTest.class=io.openems.common.utils.StringUtilsTest, main/io/openems/common/jsonrpc/response/AuthenticatedRpcResponse.class=io.openems.common.jsonrpc.response.AuthenticatedRpcResponse, main/io/openems/common/function/ThrowingTriFunction.class=io.openems.common.function.ThrowingTriFunction, main/io/openems/common/websocket/AbstractWebsocketServer$DebugMode.class=io.openems.common.websocket.AbstractWebsocketServer$DebugMode, test/io/openems/common/utils/IntUtilsTest.class=io.openems.common.utils.IntUtilsTest, main/io/openems/common/jsonrpc/request/UpdateComponentConfigRequest.class=io.openems.common.jsonrpc.request.UpdateComponentConfigRequest, main/io/openems/common/types/EdgeConfig$ActualEdgeConfig$Builder.class=io.openems.common.types.EdgeConfig$ActualEdgeConfig$Builder, main/io/openems/common/websocket/AbstractWebsocketServer$1.class=io.openems.common.websocket.AbstractWebsocketServer$1, test/io/openems/common/jsonrpc/response/QueryHistoricTimeseriesExportXlsxResponseTest.class=io.openems.common.jsonrpc.response.QueryHistoricTimeseriesExportXlsxResponseTest, main/io/openems/common/jsonrpc/response/AppCenterGetPossibleAppsResponse.class=io.openems.common.jsonrpc.response.AppCenterGetPossibleAppsResponse, main/io/openems/common/jsonrpc/response/AppCenterIsKeyApplicableResponse$Usage.class=io.openems.common.jsonrpc.response.AppCenterIsKeyApplicableResponse$Usage, test/io/openems/common/worker/AbstractCycleWorkerTest.class=io.openems.common.worker.AbstractCycleWorkerTest, main/io/openems/common/jsonrpc/request/GetEdgesRequest$PaginationOptions$SearchParams.class=io.openems.common.jsonrpc.request.GetEdgesRequest$PaginationOptions$SearchParams, main/io/openems/common/types/EdgeConfig$Component$Channel$ChannelDetailState.class=io.openems.common.types.EdgeConfig$Component$Channel$ChannelDetailState, main/io/openems/common/jsonrpc/request/UpdateUserLanguageRequest.class=io.openems.common.jsonrpc.request.UpdateUserLanguageRequest, main/io/openems/common/session/AbstractUser.class=io.openems.common.session.AbstractUser, main/io/openems/common/jsonrpc/request/GetEdgeConfigRequest.class=io.openems.common.jsonrpc.request.GetEdgeConfigRequest, test/io/openems/common/types/SemanticVersionTest.class=io.openems.common.types.SemanticVersionTest, main/io/openems/common/jsonrpc/notification/AbstractDataNotification.class=io.openems.common.jsonrpc.notification.AbstractDataNotification, main/io/openems/common/jsonrpc/request/QueryHistoricTimeseriesEnergyPerPeriodRequest.class=io.openems.common.jsonrpc.request.QueryHistoricTimeseriesEnergyPerPeriodRequest, main/io/openems/common/jsonrpc/request/SubscribeEdgesRequest.class=io.openems.common.jsonrpc.request.SubscribeEdgesRequest, test/io/openems/common/utils/InetAddressUtilsTest.class=io.openems.common.utils.InetAddressUtilsTest, main/io/openems/common/package-info.class=io.openems.common.package-info, main/io/openems/common/utils/JsonUtils.class=io.openems.common.utils.JsonUtils, main/io/openems/common/types/OptionsEnum.class=io.openems.common.types.OptionsEnum, main/io/openems/common/event/package-info.class=io.openems.common.event.package-info, test/io/openems/common/jsonrpc/base/AbstractJsonrpcRequestTest.class=io.openems.common.jsonrpc.base.AbstractJsonrpcRequestTest, main/io/openems/common/types/ChannelAddress.class=io.openems.common.types.ChannelAddress, test/io/openems/common/websocket/ClientReconnectorWorkerTest.class=io.openems.common.websocket.ClientReconnectorWorkerTest, main/io/openems/common/jsonrpc/notification/CurrentDataNotification.class=io.openems.common.jsonrpc.notification.CurrentDataNotification, main/io/openems/common/jsonrpc/request/QueryHistoricTimeseriesDataRequest.class=io.openems.common.jsonrpc.request.QueryHistoricTimeseriesDataRequest, main/io/openems/common/jsonrpc/request/AppCenterAddDeinstallInstanceHistoryRequest.class=io.openems.common.jsonrpc.request.AppCenterAddDeinstallInstanceHistoryRequest, main/io/openems/common/jsonrpc/request/SubscribeSystemLogRequest.class=io.openems.common.jsonrpc.request.SubscribeSystemLogRequest, main/io/openems/common/types/EdgeConfig$Component.class=io.openems.common.types.EdgeConfig$Component, test/io/openems/common/types/ChannelAddressTest.class=io.openems.common.types.ChannelAddressTest, main/io/openems/common/utils/InetAddressUtils.class=io.openems.common.utils.InetAddressUtils, main/io/openems/common/worker/package-info.class=io.openems.common.worker.package-info, main/io/openems/common/utils/DateUtils.class=io.openems.common.utils.DateUtils, main/io/openems/common/timedata/DurationUnit.class=io.openems.common.timedata.DurationUnit, main/io/openems/common/session/package-info.class=io.openems.common.session.package-info, test/io/openems/common/types/EdgeConfigDiffTest.class=io.openems.common.types.EdgeConfigDiffTest, main/io/openems/common/channel/Unit.class=io.openems.common.channel.Unit, main/io/openems/common/jsonrpc/response/AppCenterGetRegisteredKeysResponse.class=io.openems.common.jsonrpc.response.AppCenterGetRegisteredKeysResponse, main/io/openems/common/jsonrpc/response/AppCenterGetInstalledAppsResponse$Instance.class=io.openems.common.jsonrpc.response.AppCenterGetInstalledAppsResponse$Instance, main/io/openems/common/jsonrpc/request/EdgeRpcRequest.class=io.openems.common.jsonrpc.request.EdgeRpcRequest, test/io/openems/common/jsonrpc/base/GenericJsonrpcRequestTest.class=io.openems.common.jsonrpc.base.GenericJsonrpcRequestTest}
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':io.openems.common:jar'.
> io.openems.common has errors, one error was reported
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
BUILD FAILED in 21s
5 actionable tasks: 1 executed, 4 up-to-date
Please point me in the right direction so that I can learn from the fully working demo. Thank you