gpt4 book ai didi

java - 是否能够在构建过程中将 REST 端点标记为忽略?

转载 作者:太空宇宙 更新时间:2023-11-04 08:02:24 24 4
gpt4 key购买 nike

我在 Eclipse 中有一个 Jackson 服务项目,它使用 Maven 进行构建过程,并且我有几个单元测试所需的“仅测试”端点,但应该在公共(public)构建中删除。是否有注释或其他配置属性可以设置,以便在构建过程中(单元测试通过后),端点不会被部署?

例如,我有一个类似的方法:

@GET
@Path("/{user}/addresses")
@Produces(MediaType.APPLICATION_JSON)
public Map<String, Object> getUserAddresses(...){ ... }

发布后,用户地址将来自第三方系统,但为了测试,我们需要一种添加地址的方法,所以我有

@POST
@Path("/{user}/address")
@Produces(MediaType.APPLICATION_JSON)
public Map<String, Object> createAddress(

但我希望第二种方法永远不会存在于实时服务器上。

最佳答案

我只是将“仅测试”类放在src/test/java中。没有规定只能出现在 src/test/java 中的只是单元测试。

这样您就无需使用 Maven 进行额外配置来排除类。

或者,您可以告诉 maven-jar-plugin 或 maven-war-plugin to exclude specific classes from being packaged in the final artifact ,但这有一个缺点,就是无法捕获您意外导入真实类中的“仅测试”类之一的情况,因此您在 jar/war 中发送了一些会导致 NoClassDefFoundError 的内容。如果您将“仅测试”类放在 src/test/java 中,并因此确保它们仅位于测试类路径上,则不会出现这种意外导入问题(主代码编译将失败)。

关于java - 是否能够在构建过程中将 REST 端点标记为忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12645764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com