如何解决Maven中未知工件类型[test jar]错误?

如何解决Maven中未知工件类型[test jar]错误?,maven,Maven,我在尝试使用Maven构建ear时出错 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-ear-plugin:2.4.2:generate-application-xml (default-generate-application-xml) on project cargooceanear: Failed to initialize ear modules: Unknown artifact type[tes t-jar

我在尝试使用Maven构建ear时出错

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-ear-plugin:2.4.2:generate-application-xml (default-generate-application-xml) on project cargooceanear: Failed to initialize ear modules: Unknown artifact type[tes t-jar] -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-ear-plugin:2.4.2:generate-application-xml (default-generate-application-xml) on project cargooceanear: Failed to i nitialize ear modules at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) at org.apache.maven.cli.MavenCli.main(MavenCli.java:157) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 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: Failed to initialize ear modules at org.apache.maven.plugin.ear.AbstractEarMojo.execute(AbstractEarMojo.java:240) at org.apache.maven.plugin.ear.GenerateApplicationXmlMojo.execute(GenerateApplicationXmlMojo.java:85) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ... 19 more Caused by: org.apache.maven.plugin.ear.UnknownArtifactTypeException: Unknown artifact type[test-jar] at org.apache.maven.plugin.ear.util.ArtifactTypeMappingService.getStandardType(ArtifactTypeMappingService.java:151) at org.apache.maven.plugin.ear.EarModuleFactory.newEarModule(EarModuleFactory.java:74) at org.apache.maven.plugin.ear.AbstractEarMojo.execute(AbstractEarMojo.java:230) ... 22 more [错误]未能在项目上执行目标org.apache.maven.plugins:maven ear plugin:2.4.2:生成应用程序xml(默认生成应用程序xml):未能初始化ear模块:未知工件类型[tes] t-jar]->[帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:未能执行目标org.apache.maven.plugins:maven ear plugin:2.4.2:在项目上生成应用程序xml(默认生成应用程序xml):未能 初始化耳模块 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108) 位于org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76) 位于org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) 位于org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361) 位于org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155) 位于org.apache.maven.cli.MavenCli.execute(MavenCli.java:584) 位于org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213) 位于org.apache.maven.cli.MavenCli.main(MavenCli.java:157) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中 位于java.lang.reflect.Method.invoke(Method.java:597) 位于org.codehaus.plexus.classworlds.launcher.launcher.launchEnhanced(launcher.java:289) 位于org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.java:229) 位于org.codehaus.plexus.classworlds.launcher.launcher.mainWithExitCode(launcher.java:415) 位于org.codehaus.plexus.classworlds.launcher.launcher.main(launcher.java:356) 原因:org.apache.maven.plugin.MojoExecutionException:未能初始化ear模块 位于org.apache.maven.plugin.ear.AbstractEarMojo.execute(AbstractEarMojo.java:240) 位于org.apache.maven.plugin.ear.GenerateApplicationXmlMojo.execute(GenerateApplicationXmlMojo.java:85) 位于org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133) 位于org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) ... 还有19个 原因:org.apache.maven.plugin.ear.UnknownArtifactTypeException:未知工件类型[测试jar] 位于org.apache.maven.plugin.ear.util.ArtifactTypeMappingService.getStandardType(ArtifactTypeMappingService.java:151) 位于org.apache.maven.plugin.ear.EarModuleFactory.newEarModule(EarModuleFactory.java:74) 位于org.apache.maven.plugin.ear.AbstractEarMojo.execute(AbstractEarMojo.java:230) ... 还有22个
基本上,此错误是由于“testjar”类型的依赖项或可传递依赖项造成的

e、 g


org.apache.jackrabbit
野兔数据
${project.version}
试验罐
选项A:如果在pom.xml中的依赖项中找到了“testjar”,那么将“testjar”目标添加到maven jar插件中

 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-jar-plugin</artifactId>
   <version>2.4</version>
   <configuration>
      .............
   </configuration>
   <executions>
     <execution>
       <goals>
         <goal>test-jar</goal>
       </goals>
     </execution>
   </executions>
 </plugin>

org.apache.maven.plugins
maven jar插件
2.4
.............
试验罐
选项B:如果在可传递依赖项中找到“testjar”,则必须在pom.xml中排除该选项以修复此错误

<dependency>
    <groupId>mygroup</groupId>
    <artifactId>myartifact</artifactId>
    <version>${myartifact-release-version}</version>
    <type>ejb</type>
     <exclusions>
        <exclusion>
           <groupId>org.apache.jackrabbit</groupId>
           <artifactId>jackrabbit-data</artifactId>
        </exclusion>
     </exclusions>                
 </dependency>

mygroup
我的神器
${myartifact发布版本}
ejb
org.apache.jackrabbit
野兔数据

问题:maven-ear插件向您提供了一个错误:
[INFO]未能初始化ear模块嵌入错误:未知工件类型[zip]

原因:可传递依赖项中的zip文件或不受支持的文件

解决方案:在windows中,首先打开项目的cmd、cd根目录,然后在cmd中键入
mvn dependency:tree
,以查找与marven ear插件冲突的可传递依赖项

 <plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-jar-plugin</artifactId>
   <version>2.4</version>
   <configuration>
      .............
   </configuration>
   <executions>
     <execution>
       <goals>
         <goal>test-jar</goal>
       </goals>
     </execution>
   </executions>
 </plugin>
e、 g.未知拉链 +-ws:samples:zip:2.2.10:compile 意味着

com.sun.xml.ws
样品
e、 g。 更改ear pom:将排除放在依赖项中

<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
... 
<exclusions>
<exclusion>     
<groupId>com.sun.xml.ws</groupId>       
<artifactId>samples</artifactId>          
</exclusion>          
... 
</exclusions>
</dependency>

com.sun.xml.ws
jaxws-ri
... 
com.sun.xml.ws
样品
... 

与+-com.sun.xml.ws相同:发布文档:zip

您能解释更多吗?也许发布一些代码来帮助人们帮助你。org.apache.jackrabbit jackrabbit数据
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
... 
<exclusions>
<exclusion>     
<groupId>com.sun.xml.ws</groupId>       
<artifactId>samples</artifactId>          
</exclusion>          
... 
</exclusions>
</dependency>