Live-Demo on Gitpod Build Error

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

Can anyone tell me if they also see this error? Maybe I’m doing something wrong on my end.

Just tried this again and here is the error I got on Task 2 (OpenEMS Edge build) after everything else completed:

 HISTFILE=/workspace/.gitpod/cmd-1 history -r; {
sleep 10 && while [ -f /tmp/.gradle-lock ]; do sleep 1; done
./gradlew build buildEdge -x test

} && {
java -Dfelix.cm.dir=$(pwd)/tools/docker/openems-edge/config.d -Dopenems.data.dir=$(pwd)/tools/docker/openems-edge/data -jar build/openems-edge.jar
}
INFO: Executing command: pg_start
waiting for server to start.... done
server started
INFO: Please create another terminal
INFO: this one is monitoring postgres server for gracefully shutting down when needed
gitpod /workspace/openems (main) $  HISTFILE=/workspace/.gitpod/cmd-1 history -r; {
> sleep 10 && while [ -f /tmp/.gradle-lock ]; do sleep 1; done
> ./gradlew build buildEdge -x test
> 
> } && {
> java -Dfelix.cm.dir=$(pwd)/tools/docker/openems-edge/config.d -Dopenems.data.dir=$(pwd)/tools/docker/openems-edge/data -jar build/openems-edge.jar
> }
Picked up JAVA_TOOL_OPTIONS:  -Xmx3489m

> Task :io.openems.edge.controller.api.modbus:jar FAILED
error  : Classes found in the wrong directory: {main/io/openems/edge/controller/api/modbus/readwrite/ControllerApiModbusTcpReadWrite$ChannelId.class=io.openems.edge.controller.api.modbus.readwrite.ControllerApiModbusTcpReadWrite$ChannelId, main/io/openems/edge/controller/api/modbus/MyProcessImage.class=io.openems.edge.controller.api.modbus.MyProcessImage, test/io/openems/edge/controller/api/modbus/readonly/ControllerApiModbusTcpReadOnlyImplTest.class=io.openems.edge.controller.api.modbus.readonly.ControllerApiModbusTcpReadOnlyImplTest, main/io/openems/edge/controller/api/modbus/ModbusTcpApi.class=io.openems.edge.controller.api.modbus.ModbusTcpApi, test/io/openems/edge/controller/api/modbus/readwrite/ControllerApiModbusTcpReadWriteImplTest.class=io.openems.edge.controller.api.modbus.readwrite.ControllerApiModbusTcpReadWriteImplTest, main/io/openems/edge/controller/api/modbus/readonly/ControllerApiModbusTcpReadOnly$ChannelId.class=io.openems.edge.controller.api.modbus.readonly.ControllerApiModbusTcpReadOnly$ChannelId, main/io/openems/edge/controller/api/modbus/AbstractModbusTcpApi$ConfigRecord.class=io.openems.edge.controller.api.modbus.AbstractModbusTcpApi$ConfigRecord, main/io/openems/edge/controller/api/modbus/AbstractModbusTcpApi.class=io.openems.edge.controller.api.modbus.AbstractModbusTcpApi, main/io/openems/edge/controller/api/modbus/readonly/Config.class=io.openems.edge.controller.api.modbus.readonly.Config, main/io/openems/edge/controller/api/modbus/readonly/ControllerApiModbusTcpReadOnly.class=io.openems.edge.controller.api.modbus.readonly.ControllerApiModbusTcpReadOnly, main/io/openems/edge/controller/api/modbus/readwrite/Config.class=io.openems.edge.controller.api.modbus.readwrite.Config, main/io/openems/edge/controller/api/modbus/jsonrpc/GetModbusProtocolExportXlsxResponse.class=io.openems.edge.controller.api.modbus.jsonrpc.GetModbusProtocolExportXlsxResponse, main/io/openems/edge/controller/api/modbus/readwrite/ControllerApiModbusTcpReadWrite.class=io.openems.edge.controller.api.modbus.readwrite.ControllerApiModbusTcpReadWrite, test/io/openems/edge/controller/api/modbus/ModbusTcpApiTest.class=io.openems.edge.controller.api.modbus.ModbusTcpApiTest, test/io/openems/edge/controller/api/modbus/readonly/MyConfig$Builder.class=io.openems.edge.controller.api.modbus.readonly.MyConfig$Builder, main/io/openems/edge/controller/api/modbus/jsonrpc/GetModbusProtocolExportXlsxRequest.class=io.openems.edge.controller.api.modbus.jsonrpc.GetModbusProtocolExportXlsxRequest, main/io/openems/edge/controller/api/modbus/jsonrpc/GetModbusProtocolRequest.class=io.openems.edge.controller.api.modbus.jsonrpc.GetModbusProtocolRequest, test/io/openems/edge/controller/api/modbus/readonly/MyConfig.class=io.openems.edge.controller.api.modbus.readonly.MyConfig, main/io/openems/edge/controller/api/modbus/MyRegister.class=io.openems.edge.controller.api.modbus.MyRegister, main/io/openems/edge/controller/api/modbus/AbstractModbusTcpApi$1.class=io.openems.edge.controller.api.modbus.AbstractModbusTcpApi$1, main/io/openems/edge/controller/api/modbus/readonly/ControllerApiModbusTcpReadOnlyImpl.class=io.openems.edge.controller.api.modbus.readonly.ControllerApiModbusTcpReadOnlyImpl, test/io/openems/edge/controller/api/modbus/readwrite/MyConfig.class=io.openems.edge.controller.api.modbus.readwrite.MyConfig, main/io/openems/edge/controller/api/modbus/readwrite/ControllerApiModbusTcpReadWriteImpl.class=io.openems.edge.controller.api.modbus.readwrite.ControllerApiModbusTcpReadWriteImpl, main/io/openems/edge/controller/api/modbus/ModbusTcpApi$ChannelId.class=io.openems.edge.controller.api.modbus.ModbusTcpApi$ChannelId, main/io/openems/edge/controller/api/modbus/MyIllegalAddressException.class=io.openems.edge.controller.api.modbus.MyIllegalAddressException, main/io/openems/edge/controller/api/modbus/jsonrpc/GetModbusProtocolResponse.class=io.openems.edge.controller.api.modbus.jsonrpc.GetModbusProtocolResponse, test/io/openems/edge/controller/api/modbus/readwrite/MyConfig$Builder.class=io.openems.edge.controller.api.modbus.readwrite.MyConfig$Builder}

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':io.openems.edge.controller.api.modbus:jar'.
> io.openems.edge.controller.api.modbus 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 1m 2s
233 actionable tasks: 105 executed, 64 from cache, 64 up-to-date
gitpod /workspace/openems (main) $ 

If I am the only one getting this kind of error, please let me know so I can stop asking about it.

Thanks in advance for any guidance.

Hi @acabrera,

I just tried again and successfully started a Gitpod instance via Dashboard.

All four tasks (OpenEMS Backend, OpenEMS Edge, OpenEMS UI and Odoo) were building successfully and two tabs for OpenEMS UI and Odoo would open up automatically. Logging in via admin:admin worked properly as well.

I’m afraid I cannot reproduce the problem, sorry.

Regards,
Stefan

Thanks for looking into it, Stefan. I just tried again in a different browser and selecting the larger machine setup. I get a similar error for Task 2. If I remove the warnings, I get down to an error that starts with this snippet:

Task :io.openems.edge.bridge.modbus:jar FAILED

error  : Classes found in the wrong directory: {test/io/openems/edge/bridge/modbus/api/task/FC4ReadInputRegistersTaskTest$MyInputRegister.class=io.openems.edge.bridge.modbus.api.task.FC4ReadInputRegistersTaskTest$MyInputRegister, main/io/openems/edge/bridge/modbus/api/AbstractModbusBridge.class=io.openems.edge.bridge.modbus.api.AbstractModbusBridge, main/io/openems/edge/bridge/modbus/sunspec/DefaultSunSpecModel$S712.class=io.openems.edge.bridge.modbus.sunspec.DefaultSunSpecModel$S712, 

At the end of a very long list of classes, it reads:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':io.openems.edge.bridge.modbus:jar'.
> io.openems.edge.bridge.modbus has errors, one error was reported

I also see an error on Task 1 that reads:

error  : Classes found in the wrong directory: {main/io/openems/edge/evcs/ocpp/common/OcppInformations.class=io.openems.edge.evcs.ocpp.common.OcppInformations, main/io/openems/edge/evcs/ocpp/common/OcppProfileType.class=io.openems.edge.evcs.ocpp.common.OcppProfileType, main/io/openems/edge/evcs/ocpp/common/package-info.class=io.openems.edge.evcs.ocpp.common.package-info, main/io/openems/edge/evcs/ocpp/common/OcppServer.class=io.openems.edge.evcs.ocpp.common.OcppServer, main/io/openems/edge/evcs/ocpp/common/AbstractManagedOcppEvcsComponent.class=io.openems.edge.evcs.ocpp.common.AbstractManagedOcppEvcsComponent, main/io/openems/edge/evcs/ocpp/common/AbstractManagedOcppEvcsComponent$ChannelId.class=io.openems.edge.evcs.ocpp.common.AbstractManagedOcppEvcsComponent$ChannelId, main/io/openems/edge/evcs/ocpp/common/OcppStandardRequests.class=io.openems.edge.evcs.ocpp.common.OcppStandardRequests, main/io/openems/edge/evcs/ocpp/common/ChargeSessionStamp.class=io.openems.edge.evcs.ocpp.common.ChargeSessionStamp, main/io/openems/edge/evcs/ocpp/common/ChargingProperty.class=io.openems.edge.evcs.ocpp.common.ChargingProperty}

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':io.openems.edge.evcs.ocpp.common:jar'.
> io.openems.edge.evcs.ocpp.common has errors, one error was reported

I’m not sure that there is anything within my control to troubleshoot this so I am puzzled that no one else is getting this error that I get consistently choosing both the latest Dev version and the stable version.

Do these errors mean anything to you or give any clue?

No, this is very weird. We are executing automatic builds via a Github actions workflow and do not have any issues there (Build OpenEMS · Workflow runs · OpenEMS/openems · GitHub). There must be something wrong with Gitpod.

Are you able to build locally OpenEMS locally? (see Build OpenEMS Edge :: Open Energy Management System)

Yes. I can build OpenEMS Edge locally without issue. My goal was to learn from the full system simulation on GitPod, specifically the Odoo implementation. I am happy to move on from GitPod, though.

Would you recommend a better way to implement and understand the Odoo user authentication?

Just bumping this thread to see if anyone has any advice as I am still unable to get the GitPod demo working that I launch from my Firefox browser from this link: https://gitpod.io/#https://github.com/OpenEMS/openems/tree/develop

I have just tried it using VS Code in the browser but I have also tried it using VS Code on the desktop with similar errors.

Here are the console errors that I believe are halting everything. I do get a browser tab with the Odoo login screen so angular/ng serve is working:

Terminal 1 console output:

 HISTFILE=/workspace/.gitpod/cmd-0 history -r; {
touch /tmp/.gradle-lock
./gradlew build buildBackend -x test
rm /tmp/.gradle-lock

} && {
java -Dfelix.cm.dir=$(pwd)/tools/docker/openems-backend/config.d -jar build/openems-backend.jar
}
gitpod /workspace/openems (develop) $  HISTFILE=/workspace/.gitpod/cmd-0 history -r; {
> touch /tmp/.gradle-lock
> ./gradlew build buildBackend -x test
> rm /tmp/.gradle-lock
> 
> } && {
> java -Dfelix.cm.dir=$(pwd)/tools/docker/openems-backend/config.d -jar build/openems-backend.jar
> }
Picked up JAVA_TOOL_OPTIONS:  -Xmx12884m
Downloading https://services.gradle.org/distributions/gradle-8.5-bin.zip
............10%.............20%............30%.............40%.............50%............60%.............70%.............80%............90%.............100%

Welcome to Gradle 8.5!

Here are the highlights of this release:
 - Support for running on Java 21
 - Faster first use with Kotlin DSL
 - Improved error and warning messages

For more details see https://docs.gradle.org/8.5/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':compileJava'.
> Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
   > No matching toolchains found for requested specification: {languageVersion=21, vendor=any, implementation=vendor-specific} for LINUX on x86_64.
      > No locally installed toolchains match and toolchain download repositories have not been configured.

* Try:
> Learn more about toolchain auto-detection at https://docs.gradle.org/8.5/userguide/toolchains.html#sec:auto_detection.
> Learn more about toolchain repositories at https://docs.gradle.org/8.5/userguide/toolchains.html#sub:download_repositories.
> 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 1m 13s
Error: Unable to access jarfile build/openems-backend.jar

Terminal 2 output:

 HISTFILE=/workspace/.gitpod/cmd-1 history -r; {
sleep 10 && while [ -f /tmp/.gradle-lock ]; do sleep 1; done
./gradlew build buildEdge -x test

} && {
java -Dfelix.cm.dir=$(pwd)/tools/docker/openems-edge/config.d -Dopenems.data.dir=$(pwd)/tools/docker/openems-edge/data -jar build/openems-edge.jar
}
gitpod /workspace/openems (develop) $  HISTFILE=/workspace/.gitpod/cmd-1 history -r; {
> sleep 10 && while [ -f /tmp/.gradle-lock ]; do sleep 1; done
> ./gradlew build buildEdge -x test
> 
> } && {
> java -Dfelix.cm.dir=$(pwd)/tools/docker/openems-edge/config.d -Dopenems.data.dir=$(pwd)/tools/docker/openems-edge/data -jar build/openems-edge.jar
> }
Picked up JAVA_TOOL_OPTIONS:  -Xmx12884m

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':compileJava'.
> Failed to calculate the value of task ':compileJava' property 'javaCompiler'.
   > No matching toolchains found for requested specification: {languageVersion=21, vendor=any, implementation=vendor-specific} for LINUX on x86_64.
      > No locally installed toolchains match and toolchain download repositories have not been configured.

* Try:
> Learn more about toolchain auto-detection at https://docs.gradle.org/8.5/userguide/toolchains.html#sec:auto_detection.
> Learn more about toolchain repositories at https://docs.gradle.org/8.5/userguide/toolchains.html#sub:download_repositories.
> 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
gitpod /workspace/openems (develop) $ 

Could be due to:

So, would this mean that the GitPod demo it is broken for everyone?

Yes… we started working on it:

Ok. I will hold off on this part of my project.

As always, thanks for all of everyone’s help.

1 Like

@acabrera: Does Gitpod now work for you? I just tested again with latest release - and it worked flawlessly. Could you please try again?

Just tried again using this link: https://gitpod.io/#https://github.com/OpenEMS/openems/tree/develop from Firefox witih VS Desktop selected. And tried https://gitpod.io/#https://github.com/OpenEMS/openems from Chrome with VS Code Browser selected. Both attempts had similar errors. The common error started with “Classes found in the wrong directory”.

Terminal 1 error:

> Task :io.openems.edge.controller.io.analog:jar FAILED
error  : Classes found in the wrong directory: {test/io/openems/edge/controller/io/analog/MyControllerTest.class=io.openems.edge.controller.io.analog.MyControllerTest, test/io/openems/edge/controller/io/analog/MyConfig$Builder.class=io.openems.edge.controller.io.analog.MyConfig$Builder, main/io/openems/edge/controller/io/analog/ControllerIoAnalog$ChannelId.class=io.openems.edge.controller.io.analog.ControllerIoAnalog$ChannelId, main/io/openems/edge/controller/io/analog/ControllerIoAnalog.class=io.openems.edge.controller.io.analog.ControllerIoAnalog, main/io/openems/edge/controller/io/analog/ControllerIoAnalogImpl.class=io.openems.edge.controller.io.analog.ControllerIoAnalogImpl, main/io/openems/edge/controller/io/analog/PowerBehavior$CalculateNonLinearPower.class=io.openems.edge.controller.io.analog.PowerBehavior$CalculateNonLinearPower, main/io/openems/edge/controller/io/analog/Config.class=io.openems.edge.controller.io.analog.Config, main/io/openems/edge/controller/io/analog/PowerBehavior$CalculateNonLinearFactor.class=io.openems.edge.controller.io.analog.PowerBehavior$CalculateNonLinearFactor, test/io/openems/edge/controller/io/analog/MyConfig.class=io.openems.edge.controller.io.analog.MyConfig, main/io/openems/edge/controller/io/analog/PowerBehavior$CalculateLinearFactor.class=io.openems.edge.controller.io.analog.PowerBehavior$CalculateLinearFactor, main/io/openems/edge/controller/io/analog/PowerBehavior.class=io.openems.edge.controller.io.analog.PowerBehavior, main/io/openems/edge/controller/io/analog/Mode.class=io.openems.edge.controller.io.analog.Mode, main/io/openems/edge/controller/io/analog/PowerBehavior$CalculateLinearPower.class=io.openems.edge.controller.io.analog.PowerBehavior$CalculateLinearPower, test/io/openems/edge/controller/io/analog/TestStatic.class=io.openems.edge.controller.io.analog.TestStatic}

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':io.openems.edge.controller.io.analog:jar'.
> io.openems.edge.controller.io.analog 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 3m 12s
497 actionable tasks: 497 executed
Error: Unable to access jarfile build/openems-backend.jar

Terminal 2 error:

> 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.oem) 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/oem/package-info.class=io.openems.common.oem.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/oem/DummyOpenemsBackendOem.class=io.openems.common.oem.DummyOpenemsBackendOem, 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/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/oem/OpenemsEdgeOem$SystemUpdateParams.class=io.openems.common.oem.OpenemsEdgeOem$SystemUpdateParams, 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/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, test/io/openems/common/test/TimeLeapClockTest.class=io.openems.common.test.TimeLeapClockTest, 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/oem/DummyOpenemsEdgeOem.class=io.openems.common.oem.DummyOpenemsEdgeOem, 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, 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/EdgeConfigDiffTest.class=io.openems.common.types.EdgeConfigDiffTest, main/io/openems/common/oem/OpenemsEdgeOem.class=io.openems.common.oem.OpenemsEdgeOem, 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/UpdateUserSettingsRequest.class=io.openems.common.jsonrpc.request.UpdateUserSettingsRequest, main/io/openems/common/oem/OpenemsBackendOem.class=io.openems.common.oem.OpenemsBackendOem, 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 30s
5 actionable tasks: 2 executed, 3 up-to-date

Are there any other details I could provide that might help?

Did you try the latest main Version aswell?

Just tried it using https://github.com/OpenEMS/openems/tree/main.

This time, I only get the error on Terminal 2:

> 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.oem) 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/oem/package-info.class=io.openems.common.oem.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/oem/DummyOpenemsBackendOem.class=io.openems.common.oem.DummyOpenemsBackendOem, 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/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/oem/OpenemsEdgeOem$SystemUpdateParams.class=io.openems.common.oem.OpenemsEdgeOem$SystemUpdateParams, 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/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, test/io/openems/common/test/TimeLeapClockTest.class=io.openems.common.test.TimeLeapClockTest, 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/oem/DummyOpenemsEdgeOem.class=io.openems.common.oem.DummyOpenemsEdgeOem, 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/oem/OpenemsEdgeOem.class=io.openems.common.oem.OpenemsEdgeOem, 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/UpdateUserSettingsRequest.class=io.openems.common.jsonrpc.request.UpdateUserSettingsRequest, main/io/openems/common/oem/OpenemsBackendOem.class=io.openems.common.oem.OpenemsBackendOem, 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 37s

Hi @acabrera,
there are 2 options you could try.

  1. run without build-cache:
./gradlew build buildEdge -x test --no-build-cache
  1. run in 2 commands
./gradlew build -x test;
./gradlew buildEdge -x test; 

Thanks for the tips @da-Kai. I just tried launching the live demo again using https://github.com/OpenEMS/openems/tree/main and VS Code in the browser and it’s working, even without trying your tips. I can’t explain it.

I have tried this dozens of times and now, all of a sudden, it’s working.

Anyway, thanks for the help and I will move forward with my investigation into the UI and the Odoo authentication.

Thanks, everyone!

I spoke too soon. After I walked away and the demo workspace timed out, I tried it again and got the same original errors.

Tried:

./gradlew build buildEdge -x test --no-build-cache

and

./gradlew build -x test;

and

./gradlew buildEdge -x test;

Same errors as before that all start with:

Classes found in the wrong directory

It seems crazy that I am the only one having these issues even though everything runs on a server.

If I could trouble someone to do a video recording of the exact steps they take and do not get the error I get, I would greatly appreciate it.

okay, interesting.
maybe a

./gradlew clean build

could fix your problem.

if not the output of a

./gradlew build --debug

run would be useful.

I would also be interested to know whether a

git diff

shows any changes in your repository.