我希望将一个Java类放入使用Vaadin @Endpoint注释(来自com.vaadin.flow.server.connect.Endpoint)的Maven工件中,以便在多个Vaadin项目中使用该类。
下面是这样一个类的简单示例:
import com.vaadin.flow.server.connect.Endpoint;
import lombok.RequiredArgsConstructor;
import java.util.Optional;
@Endpoint
@RequiredArgsConstructor
public class SupportInfoEndpoint {
public Optional<String> getSupportInfo(){
return Optional.of("mailto:support@my.corp");
}
}Maven工件包含该类的源代码。我需要做什么才能在使用项目中扫描这个类,通过Vaadin构建过程,以便
有可能吗?
发布于 2021-08-26 12:29:54
不幸的是,它目前是不可能的,但一旦#9010被实现,它将成为可能。
据我所知,它是融合团队实现的最高优先级特性之一。
发布于 2021-08-26 23:03:29
正如Erik所说,它将用#9010实现。
但有一个解决办法,取决于一些限制。如果在同一个jar中有端点需要的每个类,那么可以通过调用vaadin-maven-plugin的目标“构建前端”来触发相同jar中的类型记录生成,然后生成类型记录,而将它们移动到META-INF/resources/frontend (类似于正在执行的这里)只是一些maven魔术的问题。然后您只需将jar中的端点打包即可。
为了在项目中注册端点,您需要做一些类似于这个类正在做的事情,基本上是一个通过使用反射来执行EndpointRegistry的方法registerEndpoint的ServiceInitListener。
https://stackoverflow.com/questions/68935180
复制相似问题