Apache isis - 从 2.0.0-M5 升级到 2.0.0-M7

发布于 2025-01-19 18:49:27 字数 944 浏览 0 评论 0原文

我更改了源代码,pom.xml从2.0.0-m5升级到2.0.0-m7。请注意,以下错误在M5中没有显示出来。该应用程序正在再次编译,但是当进入该应用程序时,它显示了一长串的元模型验证错误列表,而M5中不存在

此类错误。关于如何正确修复此问题的任何线索(目前我无非是评论它们)?

someClass#defaultXSomeMethod(): is public, but orphaned (was not picked up by the framework); reporting orphans, because the class is setup for member introspection, without enforcing annotations

以下发生在框架类别上,而包括库中的类别不是域模型本身的一部分。我不知道发生了什么,也不知道如何解决此问题。

Collection action parameter found without supporting choices or autoComplete facet. Class: org.apache.isis.applib.query.Query action: withRange parameter 0

然后是一个:

Action method overloading is not allowed, yet javax.activation.MimeType has action(s) that have a the same member name: [match]

这是一个包含的库类,用于解析域对象方法之一中作为输入参数提供的模拟类型。它曾经在M5中工作。关于如何避免这种情况或围绕它工作的任何线索?

请注意,我还会在自己的domainObject上获得过载错误(不在M5中);我想解决的工作将是停止过载。

感谢您以正确的方式指出我的任何提示

I changed my source code and pom.xml upgrading from 2.0.0-M5 to 2.0.0-M7. Note, that none of the below errors were showing up in M5. The application is compiling again but when going to the application, it shows a long list of metamodel validation error that weren't there in M5

This happens on a lot of classes. Any clue as to how to properly fix this, (for the moment I get no further than commenting them out)?

someClass#defaultXSomeMethod(): is public, but orphaned (was not picked up by the framework); reporting orphans, because the class is setup for member introspection, without enforcing annotations

The following occurs on framework classes, and classes from libraries included that are not part of the domain model itself. I have no clue what's going on nor how to fix this.

Collection action parameter found without supporting choices or autoComplete facet. Class: org.apache.isis.applib.query.Query action: withRange parameter 0

And then this one:

Action method overloading is not allowed, yet javax.activation.MimeType has action(s) that have a the same member name: [match]

this is an included library class, and it is used to parse the mimeType provided as an input parameter in one of the methods of a domain object. It used to work in M5. Any clue as to how to avoid this, or work around it?

Note, I also get the overloading error on my own DomainObjects (not in M5); I guess there the work around will be to stop overloading.

Thanks for any hints to point me in the right way

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟火散人牵绊 2025-01-26 18:49:27

“在不支持选择或 autoComplete 方面的情况下找到集合操作参数。类:org.apache.isis.applib.query.Query 操作:withRange 参数 0”

如果这是框架服务,则不应发生这种情况,听起来像是一个错误。

我认为问题出在 isis.core.meta-model.introspector 中。 policy 配置属性 - 默认情况下将未注释的内容包含到元模型中,并且 - 错误地 - 包含了一些不应该包含的类型。

或者,您可以添加 @Programmatic@Domain.Exclude 以确保从元模型中排除方法。

作为解决方法,请尝试更改此配置属性。

最好的办法是加入用户邮件列表/松弛频道,这样我们就可以在那里更彻底地深入研究这个问题。

"Collection action parameter found without supporting choices or autoComplete facet. Class: org.apache.isis.applib.query.Query action: withRange parameter 0"

If this is a framework service then it shouldn't occur, and sounds like a bug.

I think the issue is in the isis.core.meta-model.introspector. policy configuration property - the default is to include non-annotated into the metamodel and - incorrectly - some types are being included that shouldn't be.

Alternatively, you can add either @Programmatic or @Domain.Exclude to ensure that methods are excluded from the metamodel.

As a workaround, try changing this config property.

Best though would be to join the users mailing list / slack channel so we can dig into the issue more thoroughly there.

甜是你 2025-01-26 18:49:27

我也遇到了这个错误,并意识到我在我的类而不是字段上设置了 lombok 注释 @Getter,因此它暴露了注入服务的 getter。
这有点神秘,因为堆栈跟踪没有显示受影响的确切类。

从类级别删除 @Getter 解决了这个问题。

I also got this error, and realized I'd set the lombok annotation @Getter on my class instead of the field, so it was exposing getters for the injected services.
It was a bit cryptic because the stack trace didn't show the exact class that was affected.

Removing @Getter from the class level solved the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文