Maven shade插件 - 无法执行目标

问题描述 投票:1回答:1

我一直在尝试重命名tika应用程序类。由于类路径上的重复类,存在加载冲突。当我尝试运行maven install -e时,它抛出了错误,我想使用它

org.apache.tika

作为

com.test1.tika

pom.xml文件如下所示

 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.test1.tika</groupId>
  <artifactId>tika-app</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>tika-app</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-app</artifactId>
        <version>1.20</version>
    </dependency>
  </dependencies>


  <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <createSourcesJar>true</createSourcesJar>
                <relocations>
                    <relocation>
                        <pattern>org.apache.tika.</pattern>
                        <shadedPattern>com.test1.tika.</shadedPattern>
                    </relocation>
                </relocations>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

</project>

mvn package命令的错误如下:

[错误]无法执行目标org.apache.maven.plugins:maven-shade-plugin:2.3:项目tika-app上的shade(默认):创建着色jar时出错:null:IllegalArgumentException - > [Help 1] org.apache .maven.lifecycle.LifecycleExecutionException:无法在项目tika-app上执行目标org.apache.maven.plugins:maven-shade-plugin:2.3:shade(默认):在org.apache.maven创建着色jar:null时出错。 org.apache.maven.life.internal.MojoExecutor.execute中的org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)中的lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215) MojoExecutor.java:148)org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)at org org.apache.maven.lifecyc上的.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) le.internal.LifecycleStarter.execute(LifecycleStarter.java:128)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)atg.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)at org .apache.maven.DefaultMaven.execute(DefaultMaven.java:105)org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)org.apache.maven.cli.MavenCli.doMain(MavenCli.java) :288)atg.apache.maven.cli.MavenCli.main(MavenCli.java:192)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43),位于org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced的java.lang.reflect.Method.invoke(Method.java:498)中(Launcher.java: 289)org.codhaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)org.cod上的org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) ehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)引起:org.apache.maven.plugin.MojoExecutionException:在org.apache.maven.plugins.shade.mojo中创建着色jar:null时出错。 shadeMojo.execute(ShadeMojo.java:566)org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)位于org.apache.maven.life循环的org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) .internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder .build(SingleThreadedBuilder.java:56)org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifec ycleStarter.java:128)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)atg.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)位于org.apache的org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)。 maven.cli.MavenCli.main(MavenCli.java:192)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43)在org.codehaus.plexus的org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)的java.lang.reflect.Method.invoke(Method.java:498) .classworlds.launcher.Launcher.launch(Launcher.java:229)位于org.codehaus.plexus.classworlds.launcher.Launcher的org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)。 main(Launcher.java:356)引起:org.objectweb.asm.ClassReader中的java.lang.IllegalArgumentException。 (未知来源)org.objectweb.asm.ClassReader。 (未知来源)org.objectweb.asm.ClassReader。 (未知来源)org.apache.maven.plugins.shade.DefaultShader.addRemappedClass(DefaultShader.java:331)atg.apache.maven.plugins.shade.DefaultShader.shade(DefaultShader.java:165)org.apache位于org.apache.maven.maven.life.internal.MojoExecutor的org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)的.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:471) .execute(MojoExecutor.java:210)org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148 )org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)位于org.apache.maven的org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)。 org.apache.maven.lifecycle.internal.Life中的lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)在org.apache.maven.maven.maven.DefaultMaven.doExecute(DefaultMaven.java:192)org.apache.maven的org.apache.maven.maven.DefaultMaven.doExecute(DefaultMaven.java:192)中的cycleStarter.execute(LifecycleStarter.java:128) .defaultMaven.execute(DefaultMaven.java:105)org.apache.maven.cli.MavenCli.execute(MavenCli.java:956)org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)at at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect。委托在org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)的org.ctoodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)处于java.lang.refut.Method.invoke(Method.java:498) .codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)at org.codehaus.plexus.cla ssworlds.launcher.Launcher.main(Launcher.java:356)[ERROR] [ERROR]使用-X开关重新运行Maven以启用完整的调试日志记录。 [错误] [错误]有关错误和可能的解决方案的更多信息,请阅读以下文章:[错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

java maven maven-plugin maven-shade-plugin
1个回答
0
投票

将maven-compiler-plugin版本从2.3更改为3.2.1解决了它。

© www.soinside.com 2019 - 2024. All rights reserved.