gpt4 book ai didi

java - wadl-client-plugin 在 Java 10 上失败

转载 作者:行者123 更新时间:2023-12-04 13:59:50 25 4
gpt4 key购买 nike

让我们从 wadl-client-plugin 开始在 Java 8 上正常工作的配置(前提是我在 JDK 中添加了 jaxp.properties 文件,如文档所示 here ):

<plugin>
<groupId>org.jvnet.ws.wadl</groupId>
<artifactId>wadl-client-plugin</artifactId>
<version>1.1.6</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<targets>
<target>http://127.0.0.1:8080/sigb/rest/application.wadl</target>
</targets>
<packageName>sigb.ws</packageName>
<autopackaging>true</autopackaging>
<customizations>
<customization>${basedir}/src/main/resources/bindings.xjb</customization>
</customizations>
<customClassNames>
<property>
<name>http://127.0.0.1:8080/sigb/rest/</name>
<value>SigbWsClient</value>
</property>
</customClassNames>
<generationStyle>jaxrs20</generationStyle>
</configuration>
</plugin>

从上面可以猜到,我的 WADL 是由 Jersey 生成的,这是我用来开发 REST 应用程序的支持框架。

当切换到 Java 9 或 10 时,当然我必须为 JAXB 添加依赖项,默认情况下不再可用。我在上面的配置中添加了以下内容:
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.0.1</version>
</dependency>
</dependencies>

现在 JAXB 失败了,因为 Jersey(理所当然地)包含在它生成的 WADL 中。错误描述如下(我从法语翻译了消息,因此它们可能与原始英文版本不完全匹配):
[ERROR] Failed to execute goal org.jvnet.ws.wadl:wadl-client-plugin:1.1.6:generate (default) on project sigbws-bul-ws-client: Failed to generate sources from http://127.0.0.1:8080/sigb/rest/application.wadl.
Internal error: unexpected element (URI : "http://wadl.dev.java.net/2009/02", local : "application"). Expected elements are <{}application>,<{}doc>,<{}grammars>,<{}include>,<{}link>,<{}method>,<{}option>,<{}param>,<{}representation>,<{}request>,<{}resource>,<{}resource_type>,<{}resources>,<{}response> -> [Help 1]

如果有人对此错误有任何线索,我们将不胜感激。

提前致谢...

最佳答案

我在 GitLab 管道上遇到了这个问题,而本地一切正常。在管道中,使用了由我们的操作人员创建的 docker 镜像。代码是从这个镜像中的 gitlab 下载并在那里构建的。
我尝试使用手动安装的 jdk11 和 maven 将代码上传到 docker alpine 镜像。在这种情况下构建工作。
比创建此镜像的操作人员检查了它并告诉我,由于公司政策,一些 maven 依赖项是不允许的,当他们允许所有依赖项时,就可以了。不幸的是,我没有被告知确切的依赖名称,但希望这个方向会有所帮助。

关于java - wadl-client-plugin 在 Java 10 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51429335/

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