[
https://issues.apache.org/jira/browse/HADOOP-19970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18107590#comment-18107590
]
ASF GitHub Bot commented on HADOOP-19970:
-----------------------------------------
pjfanning commented on PR #8699:
URL: https://github.com/apache/hadoop/pull/8699#issuecomment-5401765023
> > `javax.servlet:javax.servlet-api` and
`jakarta.servlet:jakarta.servlet-api` both publish the `javax.servlet`
>
> This is the beginning of chaos. And in practice, during the migration,
it's likely that we need both `javax.servlet` and `jakarta.servlet`, in this
case, the `javax.servlet` must be provided by
`javax.servlet:javax.servlet-api`, right?
The jakarta.servlet groupId does not imply the jakarta.servlet package.
Version 4.0.x was just the artifact rename under the Eclipse Foundation — the
classes are still javax.servlet.http.HttpServlet. The actual package rename
("big bang") landed in 5.0.0. So if you see jakarta.servlet-api:4.0.4 on a
classpath, your imports are still javax.*.
> Resolve a single Jetty release and servlet API on every module classpath
> ------------------------------------------------------------------------
>
> Key: HADOOP-19970
> URL: https://issues.apache.org/jira/browse/HADOOP-19970
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: build, common, test
> Reporter: Jose Luis López
> Priority: Major
> Labels: pull-request-available
>
> Several modules resolve more than one Jetty release, and more than one servlet
> API, on a single classpath. Both combinations compile and then fail at run
> time,
> on whichever code path reaches the wrong jar.
> Intended result:
> * Every module resolves one Jetty release. Three are in play today: 9.4.44
> and
> 9.4.55 reach some classpaths beside the managed 9.4.58.
> * Every module resolves one servlet API. javax.servlet:javax.servlet-api and
> jakarta.servlet:jakarta.servlet-api both publish the javax.servlet
> packages,
> and 73 modules carry both, so which one a module compiles and runs against
> is
> decided by the order of the jars rather than by anything in a pom.
> * Every module that uses Jetty in its main sources declares it. Four do not,
> and compile only because some other dependency happens to supply it.
> * The unused JSP API is gone. It reaches around eighty-five classpaths
> through
> hadoop-common, and nothing in the tree uses JSP.
> One module keeps two servlet APIs:
> hadoop-yarn-server-timelineservice-hbase-tests,
> where the second arrives with HBase's own test stack.
> None of this depends on a Jetty version change.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]