[ 
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]

Reply via email to