quarkusio / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
13.51k stars 2.6k forks source link

Native: Warnings about missing `_ClientProxy` classes when using Hibernate/JPA #32337

Closed melloware closed 1 year ago

melloware commented 1 year ago

Describe the bug

Original User Report: https://github.com/quarkiverse/quarkus-primefaces/issues/34

I have a project that builds fine in Native Mode: https://github.com/melloware/quarkus-faces

However if we add Hibernate/JPA depdendencies:

<dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-jdbc-postgresql</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-hibernate-orm-panache</artifactId>
        </dependency>
        <dependency>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-hibernate-envers</artifactId>
        </dependency>

all the sudden our native build spits out tons of warnings like this:

Warning: Could not resolve org.omnifaces.cdi.GraphicImageBean_ClientProxy for reflection configuration. 
Reason: java.lang.ClassNotFoundException: org.omnifaces.cdi.GraphicImageBean_ClientProxy.

Which makes no sense as org.omnifaces.cdi.GraphicImageBean is registered properly and works without warning without JPA.

Expected behavior

No warnings to Native build just by adding HIbernate

Actual behavior

A dump of warnings including classes that are @Deleted by our GraalVM deletes.

========================================================================================================================
GraalVM Native Image: Generating 'quarkus-faces-runner' (executable)...
========================================================================================================================
Warning: Could not resolve org.omnifaces.cdi.GraphicImageBean_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.omnifaces.cdi.GraphicImageBean_ClientProxy.
Warning: Could not resolve org.omnifaces.cdi.config.DateProducer$TemporalDate_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.omnifaces.cdi.config.DateProducer$TemporalDate_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.rest.CountryService_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.rest.CountryService_ClientProxy.
Warning: Could not resolve jakarta.faces.application.ResourceHandler_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.application.ResourceHandler_ClientProxy.
Warning: Could not resolve jakarta.faces.context.FacesContext_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.context.FacesContext_ClientProxy.
Warning: Could not resolve jakarta.faces.context.ExternalContext_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.context.ExternalContext_ClientProxy.
Warning: Could not resolve jakarta.faces.context.Flash_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.context.Flash_ClientProxy.
Warning: Could not resolve jakarta.faces.component.UIViewRoot_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.component.UIViewRoot_ClientProxy.
Warning: Could not resolve jakarta.faces.lifecycle.ClientWindow_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.lifecycle.ClientWindow_ClientProxy.
Warning: Could not resolve org.primefaces.model.diagram.DiagramModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.diagram.DiagramModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.diagram.connector.Connector_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.diagram.connector.Connector_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Customer_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Customer_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Country_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Country_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Representative_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Representative_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.CustomerStatus_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.CustomerStatus_ClientProxy.
Warning: Could not resolve org.primefaces.model.LazyDataModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.LazyDataModel_ClientProxy.
Warning: Could not resolve jakarta.faces.convert.Converter_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.convert.Converter_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Product_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Product_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.InventoryStatus_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.InventoryStatus_ClientProxy.
Warning: Could not resolve org.primefaces.model.TreeNode_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.TreeNode_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Document_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Document_ClientProxy.
Warning: Could not resolve org.primefaces.model.map.MapModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.map.MapModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.map.Marker_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.map.Marker_ClientProxy.
Warning: Could not resolve org.primefaces.model.map.Animation_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.map.Animation_ClientProxy.
Warning: Could not resolve org.primefaces.model.map.MarkerLabel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.map.MarkerLabel_ClientProxy.
Warning: Could not resolve org.primefaces.model.map.LatLng_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.map.LatLng_ClientProxy.
Warning: Could not resolve org.primefaces.model.timeline.TimelineModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.timeline.TimelineModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.timeline.TimelineEvent_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.timeline.TimelineEvent_ClientProxy.
Warning: Could not resolve org.primefaces.component.export.ExcelOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.component.export.ExcelOptions_ClientProxy.
Warning: Could not resolve org.primefaces.component.export.PDFOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.component.export.PDFOptions_ClientProxy.
Warning: Could not resolve org.primefaces.component.export.PDFOrientationType_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.component.export.PDFOrientationType_ClientProxy.
Warning: Could not resolve org.primefaces.component.export.Exporter_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.component.export.Exporter_ClientProxy.
Warning: Could not resolve org.primefaces.component.export.ExportConfiguration_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.component.export.ExportConfiguration_ClientProxy.
Warning: Could not resolve org.primefaces.component.export.ExporterOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.component.export.ExporterOptions_ClientProxy.
Warning: Could not resolve org.primefaces.model.tagcloud.TagCloudModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.tagcloud.TagCloudModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.OrganigramNode_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.OrganigramNode_ClientProxy.
Warning: Could not resolve org.primefaces.model.ScheduleEvent_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.ScheduleEvent_ClientProxy.
Warning: Could not resolve org.primefaces.model.ScheduleDisplayMode_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.ScheduleDisplayMode_ClientProxy.
Warning: Could not resolve org.primefaces.model.ScheduleModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.ScheduleModel_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.service.ExtenderService$ExtenderExample_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.service.ExtenderService$ExtenderExample_ClientProxy.
Warning: Could not resolve org.primefaces.model.DualListModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.DualListModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.mindmap.MindmapNode_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.mindmap.MindmapNode_ClientProxy.
Warning: Could not resolve org.primefaces.model.terminal.TerminalAutoCompleteModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.terminal.TerminalAutoCompleteModel_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.User_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.User_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Book_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Book_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Mail_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Mail_ClientProxy.
Warning: Could not resolve org.primefaces.model.DashboardModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.DashboardModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.DashboardColumn_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.DashboardColumn_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorBracketPairColorizationOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorBracketPairColorizationOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorCommentsOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorCommentsOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorDimension_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorDimension_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorDropIntoEditorOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorDropIntoEditorOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorFindOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorFindOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorGotoLocationOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorGotoLocationOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorGuidesOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorGuidesOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorHoverOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorHoverOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorInlayHintOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorInlayHintOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorInlineSuggestOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorInlineSuggestOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorLightbulbOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorLightbulbOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorMinimapOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorMinimapOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorPaddingOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorPaddingOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorParameterHints_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorParameterHints_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorQuickSuggestionsOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorQuickSuggestionsOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EQuickSuggestionsValue_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EQuickSuggestionsValue_ClientProxy.
Warning: Could not resolve org.primefaces.shaded.json.JSONArray_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.shaded.json.JSONArray_ClientProxy.
Warning: Could not resolve org.primefaces.shaded.json.JSONObject_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.shaded.json.JSONObject_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorScrollbarOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorScrollbarOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorSmartSelectOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorSmartSelectOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorStickyScrollOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorStickyScrollOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorSuggestOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorSuggestOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.EditorUnicodeHighlightOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.EditorUnicodeHighlightOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monacoeditor.DiffEditorOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monacoeditor.DiffEditorOptions_ClientProxy.
Warning: Could not resolve org.primefaces.extensions.model.monaco.MonacoDiffEditorModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.extensions.model.monaco.MonacoDiffEditorModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.datepicker.DateMetadataModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.datepicker.DateMetadataModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.bar.BarChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.bar.BarChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.ChartData_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.ChartData_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.bar.BarChartOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.bar.BarChartOptions_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.axes.cartesian.CartesianScales_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.axes.cartesian.CartesianScales_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.bubble.BubbleChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.bubble.BubbleChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.bubble.BubbleChartOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.bubble.BubbleChartOptions_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.line.LineChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.line.LineChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.line.LineChartOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.line.LineChartOptions_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.donut.DonutChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.donut.DonutChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.donut.DonutChartOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.donut.DonutChartOptions_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.hbar.HorizontalBarChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.hbar.HorizontalBarChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.pie.PieChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.pie.PieChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.pie.PieChartOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.pie.PieChartOptions_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.polar.PolarAreaChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.polar.PolarAreaChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.polar.PolarAreaChartOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.polar.PolarAreaChartOptions_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.axes.radial.RadialScales_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.axes.radial.RadialScales_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.axes.radial.linear.RadialLinearAngleLines_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.axes.radial.linear.RadialLinearAngleLines_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.axes.AxesGridLines_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.axes.AxesGridLines_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.axes.radial.linear.RadialLinearPointLabels_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.axes.radial.linear.RadialLinearPointLabels_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.ChartFont_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.ChartFont_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.axes.radial.linear.RadialLinearTicks_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.axes.radial.linear.RadialLinearTicks_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.radar.RadarChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.radar.RadarChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.radar.RadarChartOptions_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.radar.RadarChartOptions_ClientProxy.
Warning: Could not resolve org.primefaces.model.charts.scatter.ScatterChartModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.charts.scatter.ScatterChartModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.CroppedImage_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.CroppedImage_ClientProxy.
Warning: Could not resolve org.primefaces.model.StreamedContent_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.StreamedContent_ClientProxy.
Warning: Could not resolve org.primefaces.model.file.UploadedFile_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.file.UploadedFile_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Movie_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Movie_ClientProxy.
Warning: Could not resolve org.primefaces.model.menu.MenuModel_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.menu.MenuModel_ClientProxy.
Warning: Could not resolve org.primefaces.model.file.UploadedFiles_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.model.file.UploadedFiles_ClientProxy.
Warning: Could not resolve org.primefaces.cache.CacheProvider_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.cache.CacheProvider_ClientProxy.
Warning: Could not resolve org.primefaces.showcase.domain.Theme_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: org.primefaces.showcase.domain.Theme_ClientProxy.
Warning: Could not resolve jakarta.faces.application.Application_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.application.Application_ClientProxy.
Warning: Could not resolve jakarta.faces.event.ActionListener_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.event.ActionListener_ClientProxy.
Warning: Could not resolve jakarta.faces.flow.FlowHandler_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.flow.FlowHandler_ClientProxy.
Warning: Could not resolve jakarta.faces.flow.Flow_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.flow.Flow_ClientProxy.
Warning: Could not resolve jakarta.faces.flow.FlowCallNode_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.flow.FlowCallNode_ClientProxy.
Warning: Could not resolve jakarta.faces.flow.FlowNode_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.flow.FlowNode_ClientProxy.
Warning: Could not resolve jakarta.faces.application.NavigationHandler_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.application.NavigationHandler_ClientProxy.
Warning: Could not resolve jakarta.faces.application.ProjectStage_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.application.ProjectStage_ClientProxy.
Warning: Could not resolve jakarta.faces.component.search.SearchExpressionHandler_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.component.search.SearchExpressionHandler_ClientProxy.
Warning: Could not resolve jakarta.faces.component.search.SearchKeywordResolver_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.component.search.SearchKeywordResolver_ClientProxy.
Warning: Could not resolve jakarta.faces.application.StateManager_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.application.StateManager_ClientProxy.
Warning: Could not resolve jakarta.faces.application.ViewHandler_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.application.ViewHandler_ClientProxy.
Warning: Could not resolve jakarta.faces.view.ViewDeclarationLanguage_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.view.ViewDeclarationLanguage_ClientProxy.
Warning: Could not resolve jakarta.faces.application.Resource_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.application.Resource_ClientProxy.
Warning: Could not resolve jakarta.faces.view.StateManagementStrategy_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.view.StateManagementStrategy_ClientProxy.
Warning: Could not resolve jakarta.faces.view.ViewMetadata_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.view.ViewMetadata_ClientProxy.
Warning: Could not resolve jakarta.faces.event.PhaseId_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.event.PhaseId_ClientProxy.
Warning: Could not resolve jakarta.faces.context.ExceptionHandler_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.context.ExceptionHandler_ClientProxy.
Warning: Could not resolve jakarta.faces.event.ExceptionQueuedEvent_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.event.ExceptionQueuedEvent_ClientProxy.
Warning: Could not resolve jakarta.faces.event.ExceptionQueuedEventContext_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.event.ExceptionQueuedEventContext_ClientProxy.
Warning: Could not resolve jakarta.faces.component.UIComponent_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.component.UIComponent_ClientProxy.
Warning: Could not resolve jakarta.faces.component.TransientStateHelper_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.component.TransientStateHelper_ClientProxy.
Warning: Could not resolve jakarta.faces.lifecycle.Lifecycle_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.lifecycle.Lifecycle_ClientProxy.
Warning: Could not resolve jakarta.faces.application.FacesMessage$Severity_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.application.FacesMessage$Severity_ClientProxy.
Warning: Could not resolve jakarta.faces.context.PartialViewContext_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.context.PartialViewContext_ClientProxy.
Warning: Could not resolve jakarta.faces.context.PartialResponseWriter_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.context.PartialResponseWriter_ClientProxy.
Warning: Could not resolve jakarta.faces.render.RenderKit_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.render.RenderKit_ClientProxy.
Warning: Could not resolve jakarta.faces.render.ClientBehaviorRenderer_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.render.ClientBehaviorRenderer_ClientProxy.
Warning: Could not resolve jakarta.faces.render.Renderer_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.render.Renderer_ClientProxy.
Warning: Could not resolve jakarta.faces.render.ResponseStateManager_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.render.ResponseStateManager_ClientProxy.
Warning: Could not resolve jakarta.faces.context.ResponseStream_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.context.ResponseStream_ClientProxy.
Warning: Could not resolve jakarta.faces.context.ResponseWriter_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.context.ResponseWriter_ClientProxy.
Warning: Could not resolve jakarta.faces.component.Doctype_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: jakarta.faces.component.Doctype_ClientProxy.
Warning: Could not resolve java.lang.Object_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: java.lang.Object_ClientProxy.
Warning: Could not resolve java.util.Map_ClientProxy for reflection configuration. Reason: java.lang.ClassNotFoundException: java.util.Map_ClientProxy.
Warning: Could not register org.primefaces.model.file.CommonsUploadedFile: allDeclaredConstructors for reflection. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItem.
Warning: Could not register org.primefaces.model.file.CommonsUploadedFile: allDeclaredFields for reflection. Reason: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItem.
[snip]

How to Reproduce?

  1. Git clone https://github.com/melloware/quarkus-faces/tree/quarkus-native-issue
  2. Run mvn -Pnative to build the native and see all the warnings.

Output of uname -a or ver

Linux mellowarep16 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Output of java -version

Java version: 17.0.6, vendor: Private Build, runtime: /usr/lib/jvm/java-17-openjdk-amd64

GraalVM version (if different from Java)

22.3.1.0-Final Mandrel Distribution (Java Version 17.0.6+10)

Quarkus version or git rev

3.0.0.CR1

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8)

Additional information

No response

quarkus-bot[bot] commented 1 year ago

/cc @Karm (mandrel), @Sanne (hibernate-orm), @galderz (mandrel), @gsmet (hibernate-orm), @yrodiere (hibernate-orm), @zakkak (mandrel)

gsmet commented 1 year ago

@mkouba do you think you could have a look? When I see _ClientProxy, I'm thinking of you :)

mkouba commented 1 year ago

@mkouba do you think you could have a look? When I see _ClientProxy, I'm thinking of you :)

Well, something attempt to register the generated client proxies from ArC for reflection which does not make sense.

So need to find out which extension does it and why...

melloware commented 1 year ago

@mkouba just to give you a hint this does not happen until I add Hibernate and EnvVars. It works fine if I remove those dependencies.

mkouba commented 1 year ago

@mkouba just to give you a hint this does not happen until I add Hibernate and EnvVars. It works fine if I remove those dependencies.

Yes, I tried to remove the Envers extension and still get the same warnings... so it's not Envers.

mkouba commented 1 year ago

I'm also wondering why would be the client proxies generated for classes like org.primefaces.showcase.domain.Customer or org.primefaces.model.charts.donut.DonutChartModel? These are not beans. So there must be something/extension that registers these classes as additional beans...? Let's debug the build.

melloware commented 1 year ago

They aren't beans in but in the PrimeFaces extension I register all model classes for reflection as they can be used inside JSF pages.

 classNames.addAll(collectClassesInPackage(combinedIndex, "org.primefaces.model"));
mkouba commented 1 year ago

They aren't beans in but in the PrimeFaces extension I register all model classes for reflection as they can be used inside JSF pages.

 classNames.addAll(collectClassesInPackage(combinedIndex, "org.primefaces.model"));

I see but A) this should not result in a client proxy generation and B) what about org.primefaces.showcase.domain.Customer?

mkouba commented 1 year ago

It seems that MyFacesProcessor does produce a ReflectiveClassBuildItem for "public types from getters and fields" of all @Named beans. And it automatically produces a ReflectiveClassBuildItem for type.name().toString() + "_ClientProxy" too. And that's not a good idea.

melloware commented 1 year ago

thanks @mkouba i am testing out removing those Clientproxy registrations.

melloware commented 1 year ago

PR submitted to MyFaces: https://github.com/apache/myfaces/pull/559

melloware commented 1 year ago

Confirmed fixed in MyFaces. Thanks @mkouba !