Thanks, William. That sounds like a bug. If you wouldn't find filing a JIRA
(ideally with a patch), that'd be great. If all the unit tests pass with
your change (i.e. mvn verify), then it's likely safe.
James
On Mon, May 16, 2016 at 6:55 PM, William <[email protected]> wrote:
> Hi all
> I found a weird problem when executing 'mvn dependency:tree
> -pl=phoenix-core'. It shows that we depends on both antlr-3.5.jar and
> antlr-2.7.7.jar.
>
>
> [INFO] org.apache.phoenix:phoenix-core:jar:4.6-adh6u-SNAPSHOT
> [INFO] +- org.antlr:antlr:jar:3.5:compile
> [INFO] | \- org.antlr:ST4:jar:4.0.7:compile
> [INFO] +- org.antlr:antlr-runtime:jar:3.5:compile
> [INFO] | \- org.antlr:stringtemplate:jar:3.2.1:compile
> [INFO] | \- antlr:antlr:jar:2.7.7:compile
>
>
> Then we have both antlr 3.5 and 2.7.7. Has anyone ever noticed this?
> I checked the phoenix-4.6.0-HBase-1.1-client.jar, it contains both antlr
> 3.5 and 2.7.7 too. Fortunately they have different package name and will
> not cause unexpected problems.
>
>
> I found the following issues in Antlr's community:
> https://github.com/antlr/stringtemplate4/issues/51
> https://github.com/antlr/antlr3/issues/75
> It seems that it is a known issue and has not been solved and never will
> be for antlr 3. I don't whether it sill exists in antlr 4.
>
>
> I searched the source code and generated source code and i failed to find
> explicit import for classes in antlr-*.jar, but only antlr-runtime. Is
> antlr 3.5 necessary for phoenix?
> I did the following things:
> 1. remove antlr 3.5 dependency from pom
> 2. add exclusion of stringtemplate for antlr-runtime (so it will not have
> the transit dependency of antlr 2.7.7)
> Then, both antlr 3.5 and antlr 2.7.7 disappeared. After that, all IT/UTs
> passed. Everything seems to be fine.
>
>
> So, am I right? Is it safe to remove antlr 3.5 dependency?
>
>
>
>
>