META-INF/versions/9/module-info.class 冲突问题解决

最近改造自动化工程,想引入国外的自动化框架:selenide.
发现引入jar包后,一直报包冲突。
看了下是 maven 的一个冲突检测插件抛出的异常

 org.apache.maven.plugins    
 maven-enforcer-plugin    
 1.4.1    
 

具体错误如下:

NFO] Adding ignore: com.sun.jna.*
[WARNING] Rule 1: org.apache.maven.plugins.enforcer.BanDuplicateClasses failed with message:
Duplicate classes found:

Found in:
org.seleniumhq.selenium:selenium-ie-driver:jar:3.141.59:test
org.seleniumhq.selenium:selenium-edge-driver:jar:3.141.59:test
org.seleniumhq.selenium:selenium-chrome-driver:jar:3.141.59:test
org.seleniumhq.selenium:selenium-opera-driver:jar:3.141.59:test
org.seleniumhq.selenium:selenium-remote-driver:jar:3.141.59:test
org.seleniumhq.selenium:selenium-api:jar:3.141.59:test
org.seleniumhq.selenium:selenium-firefox-driver:jar:3.141.59:test
org.seleniumhq.selenium:selenium-safari-driver:jar:3.141.59:test
Duplicate classes:
META-INF/versions/9/module-info.class

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.097 s
[INFO] Finished at: 2021-05-08T18:37:03+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (default-cli) on project Cross_border_WebTest: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed. -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:1.4.1:enforce (default-cli) on project Cross_border_WebTest: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source)
at java.lang.reflect.Method.invoke (Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: Some Enforcer rules have failed. Look above for specific messages explaining why the rule failed.
at org.apache.maven.plugins.enforcer.EnforceMojo.execute (EnforceMojo.java:237)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source)
at java.lang.reflect.Method.invoke (Unknown Source)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

好吧,看了下这个插件没有排除的办法。
搜索了好久,试过了各种不同的办法。如:

      
         
         
             
                 1.6.0
             
             
                 
                         org.w3c.dom.*   
                          com.sun.jna.*
                          module-info
                 
                 true
             
             

 

module-info
还试过:

 !META-INF/**,!META-INF/versions/9/**.class

  
    ^META-INF.versions.9.module-info$
  

结果是他娘的均不好使。

看了篇文章,这个/9/module-info.class 好像是关于jdk9的一些附加内容。我现在用jdk8,不需要用到。
没办法,翻了个强,还别说,这个 佛跳墙是真的很好使。国外的技术网站不错,特别是google的引擎对github类的检索很深入。不像百度,我日,怎么搜索也就那几个博客。

最后看了这边文章解决的。

https://github.com/mojohaus/e...

调整一下,extra-enforcer-rules的版本,哎,我去。。。。JAVA的jar包依赖是真烦人。。


              org.codehaus.mojo
              extra-enforcer-rules
              1.0-beta-4
            
          
          

修改为

              1.0-beta-7

好,编译通过,去do 下一步,尼玛这个破问题搞掉我好几个小时,醉了。

你可能感兴趣的:(META-INF/versions/9/module-info.class 冲突问题解决)