Javadoc(通过 Maven)在我的 Java JAX-RS 接口方法签名中给了我以下错误:
error: element value must be a constant expression
这是我的 JAX-RS 接口:
public interface FooResource {
@Consumes(APPLICATION_FORM_URLENCODED_UTF_8)
public void bar();
}
Javdoc 给出了@Consumes
. 这是 的定义APPLICATION_FORM_URLENCODED_UTF_8
,它出现在MyAppConstants
同一个项目中:
public static final String APPLICATION_FORM_URLENCODED_UTF_8 =
APPLICATION_FORM_URLENCODED + ";" + CHARSET_PARAMETER + "=UTF-8";
这是 的定义APPLICATION_FORM_URLENCODED
,它出现在javax.ws.rs.core.MediaType
:
public final static String APPLICATION_FORM_URLENCODED = "application/x-www-form-urlencoded";
这是 的定义CHARSET_PARAMETER
,它也出现在javax.ws.rs.core.MediaType
:
public static final String CHARSET_PARAMETER = "charset";
现在我问你:APPLICATION_FORM_URLENCODED_UTF_8
编译时不是常量怎么办?
错误消息没有说我必须提供文字. 它说我必须提供一个常量。那么这不是一个常数呢?
(我几乎可以发誓这曾经有效,但突然停止工作。)
更新: 找到原因,但还是不明白。
出于某种原因,仅仅swagger-maven-plugin
在 POM 中包含 就会触发这个问题!我的代码根本没有改变,但是只要我添加了以下依赖项,我就会突然收到现有代码的 Javadoc 警告!!!
<dependency>
<groupId>com.github.kongchen</groupId>
<artifactId>swagger-maven-plugin</artifactId>
<version>3.1.5</version>
</dependency>
单个依赖项如何使 Javadoc 在代码文件上以不同的方式工作?在swagger-maven-plugin
做什么?