Java EE,如何忽略某些 JAR 或包中的注释

标签 java jakarta-ee deployment weblogic jax-ws

我正在使用 JAR 库,其中包含 @WebService 带注释的类和其他 Java EE 注释。问题是,Weblogic 12c 自动发现这些注释并提供服务。这不是本意,而是我只想将 JAR 用作其他 Java EE 项目中的实用程序库,并从 Weblogic 的角度考虑该库,忽略所有与 Java EE 相关的配置。

基本上,有问题的库是另一个 Java EE 项目,无情地捆绑在 JAR 中,但修改该库是不可能的,因此我需要忽略该库中的所有 Java EE 内容。

那么,我如何指示 weblogic 从自动发现和配置中忽略此特定 JAR 存档中的所有 Java EE 相关内容(或者某个包说明符下的所有类)?

我想到的一个解决方案是 web.xml 中的 metadata-complete=true ,它似乎忽略了这些注释。但是,我不确定它是否仅忽略 JAR 库中的注释或项目本身的注释。

最佳答案

您可以阅读metadata-complete here的解决方案。该解决方案实际上是为了提高大型 Java EE 项目的部署性能而创建的。

您应该尝试在库项目的 web.xml 文件中设置 metadata-complete=true ,然后根据此更改创建一个新的 jar。重构库代码违背了您的意愿,尽管如此,这是一个很小的更改,不会花费您很多时间。

However, I'm not sure if it ignores annotations only in JAR libraries or annotations in the project itself too.

你是对的。如果您在项目的 web.xlm 文件中进行此更改,那么您也会影响您的注释。

关于Java EE,如何忽略某些 JAR 或包中的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45454004/

相关文章:

google-app-engine - 替代 GAE 上的 ImageIO 类?

java - Netbeans并在EJB项目中调用Enterprise Bean

java - Weblogic 中的 JSTL 支持

ruby-on-rails -/usr/bin/env : passenger: No such file or directory and with exit status 1 (failed)

java - 组件测试方法

java - 如何将图标添加到玻璃选项菜单项?

java - 在 NetBeans 中运行 Maven 目标的按钮

java - 在哪里可以找到我的 WADL? (CXF)

scala - 使用 sbt-assembly 的 assembly-merge-strategy 问题

java - 减少频繁重新部署(上传)到远程服务器的 war 规模