我提供了 servlet-api 2.5,但想在集成测试期间使用它。这可能吗?

发布于 2024-10-02 03:01:22 字数 139 浏览 1 评论 0原文

我正在使用 Jersey 测试框架,其中测试范围包括 servlet-api 2.5。不幸的是,我还编写了自己的自定义过滤器,它要求我在编译时有权访问 servlet-api。不过,我不想将范围提升为“编译”,因为我仍然不希望它出现在 war 文件中。还有希望吗?

I am using the Jersey Test Framework, that includes servlet-api 2.5 in the test scope. Unfortunately, I have also written my own custom filter that requires me to have access to servlet-api at compile time. I don't want to elevate the scope to "compile" though, because I still don't want it in the war file. Is there any hope?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

活雷疯 2024-10-09 03:01:22

它应该可以工作。引用参考文献:

这很像编译,但是
表示您期望 JDK 或
容器提供依赖关系
运行时。例如,当构建一个
Java 的 Web 应用程序
企业版,您可以设置
对 Servlet API 的依赖和
与所提供范围相关的 Java EE API
因为 Web 容器提供了
那些课程。此范围仅
可用于编译和测试
类路径,并且不可传递。

Maven 下载该东西,将其添加到测试和编译类路径中,但不将其包含在打包中。

It is supposed to just work. To quote the reference:

This is much like compile, but
indicates you expect the JDK or a
container to provide the dependency at
runtime. For example, when building a
web application for the Java
Enterprise Edition, you would set the
dependency on the Servlet API and
related Java EE APIs to scope provided
because the web container provides
those classes. This scope is only
available on the compilation and test
classpath, and is not transitive.

Maven downloads the thing, adds it to test and compile classpaths, but does not include it in packaging.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文