2016-01-21 144 views
1

我在Netbeans中用外部maven创建了一个maven java项目。 Maven版本是3.3.9,jdk1.7.0.45。 Netbeans 7.4。该项目已成功构建,但运行失败并出现以下错误。是因为exec-maven-plugin的版本错误吗?有人能告诉我如何解决这个问题吗?得益于先进的无法执行目标org.codehaus.mojo:exec-maven-plugin:1.2.1:exec(default-cli)on project:命令执行失败

--- maven-resources-plugin:2.6:resources (default-resources) @ owlapitest2 --- 
Using 'UTF-8' encoding to copy filtered resources. 
skip non existing resourceDirectory C:\java project\owlapitest2\src\main\resources 

--- maven-compiler-plugin:2.5.1:compile (default-compile) @ owlapitest2 --- 
Nothing to compile - all classes are up to date 

--- exec-maven-plugin:1.2.1:exec (default-cli) @ owlapitest2 --- 
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". 
SLF4J: Defaulting to no-operation (NOP) logger implementation 
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.cache.CacheBuilder.maximumSize(J)Lcom/google/common/cache/CacheBuilder; 
    at org.semanticweb.owlapi.model.IRI.<clinit>(IRI.java:318) 
    at org.semanticweb.owlapi.vocab.OWLFacet.<init>(OWLFacet.java:71) 
    at org.semanticweb.owlapi.vocab.OWLFacet.<clinit>(OWLFacet.java:39) 
    at org.semanticweb.owlapi.vocab.OWL2Datatype$Category.<clinit>(OWL2Datatype.java:270) 
    at org.semanticweb.owlapi.vocab.OWL2Datatype.<clinit>(OWL2Datatype.java:38) 
    at uk.ac.manchester.cs.owl.owlapi.OWLDataFactoryInternalsImplNoCache.<clinit>(OWLDataFactoryInternalsImplNoCache.java:32) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:86) 
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108) 
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87) 
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259) 
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) 
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) 
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) 
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:107) 
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:87) 
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259) 
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) 
    at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) 
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018) 
    at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) 
    at com.google.inject.Scopes$1$1.get(Scopes.java:59) 
    at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) 
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:205) 
    at com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:199) 
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011) 
    at com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:199) 
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:180) 
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110) 
    at com.google.inject.Guice.createInjector(Guice.java:94) 
    at com.google.inject.Guice.createInjector(Guice.java:71) 
    at com.google.inject.Guice.createInjector(Guice.java:61) 
    at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:89) 
    at org.semanticweb.owlapi.apibinding.OWLManager.instatiateOWLOntologyManager(OWLManager.java:97) 
    at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:58) 
    at com.mycompany.owlapitest2.App.main(App.java:19) 

BUILD FAILURE 

Total time: 5.371 s 
Finished at: 2016-01-21T20:51:15+08:00 
Final Memory: 9M/23M 

Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project owlapitest2: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1] 
------------------------------------------------------------------------------- 
To see the full stack trace of the errors, re-run Maven with the -e switch. 
Re-run Maven using the -X switch to enable full debug logging. 

For more information about the errors and possible solutions, please read the following articles: 
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

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.mycompany</groupId> 
    <artifactId>owlapitest2</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>owlapitest2</name> 
    <url>http://maven.apache.org</url> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.5.1</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>org.apache.maven.shared</groupId> 
     <artifactId>maven-filtering</artifactId> 
     <version>3.0.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.codehaus.plexus</groupId> 
     <artifactId>plexus-utils</artifactId> 
     <version>3.0.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-install-plugin</artifactId> 
     <version>2.4</version> 
    </dependency> 
    <dependency> 
     <groupId>classworlds</groupId> 
     <artifactId>classworlds</artifactId> 
     <version>1.1-alpha-2</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven</groupId> 
     <artifactId>maven-core</artifactId> 
     <version>3.0.5</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven</groupId> 
     <artifactId>maven-settings</artifactId> 
     <version>3.0.5</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.10</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.12.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.6</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-clean-plugin</artifactId> 
     <version>2.5</version> 
    </dependency> 
    <dependency> 
     <groupId>net.sourceforge.owlapi</groupId> 
     <artifactId>owlapi-distribution</artifactId> 
     <version>4.1.0</version> 
     <type>jar</type> 
    </dependency> 
    </dependencies> 
</project> 

package com.mycompany.owlapitest2; 

import java.io.File; 
import org.semanticweb.owlapi.apibinding.OWLManager; 
import org.semanticweb.owlapi.model.IRI; 
import org.semanticweb.owlapi.model.OWLOntology; 
import org.semanticweb.owlapi.model.OWLOntologyCreationException; 
import org.semanticweb.owlapi.model.OWLOntologyManager; 
import org.semanticweb.owlapi.util.SimpleIRIMapper; 

public class App 
{ 
    public static void main(String[] args) throws OWLOntologyCreationException 
    { 
     OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); 

     // Load an ontology from the Web 
     IRI iri = IRI.create("http://acrab.ics.muni.cz/ontologies/swrl_tutorial.owl"); 
     OWLOntology personOntology = manager.loadOntologyFromOntologyDocument(iri); 
     System.out.println("Loaded ontology: " + personOntology); 

     // Remove the ontology so that we can load a local copy. 
     manager.removeOntology(personOntology); 

     // We can also load ontologies from files. Create a file object that points to the local copy 
     File file; 
     file = new File("C:\\Users\\zyy\\ontologies\\reference ontologies\\pizza.owl"); 

     // Load the local copy 
     OWLOntology localPizza = manager.loadOntologyFromOntologyDocument(file); 
     System.out.println("Loaded ontology: " + localPizza); 

     // Remove the ontology again so we can reload it later 
     manager.removeOntology(personOntology); 

     // When a local copy of one of more ontologies is used, an ontology IRI mapper can be used 
     // to provide a redirection mechanism. This means that ontologies can be loaded as if they 
     // were located on the Web. In this example, we simply redirect the loading from 
     // http://www.co-ode.org/ontologies/pizza/pizza.owl to our local copy above. 
     manager.addIRIMapper(new SimpleIRIMapper(iri, IRI.create(file))); 

     // Load the ontology as if we were loading it from the Web (from its ontology IRI) 
      IRI pizzaOntologyIRI = IRI.create("http://www.co-ode.org/ontologies/pizza/pizza.owl"); 
      OWLOntology redirectedPizza = manager.loadOntology(pizzaOntologyIRI); 

      System.out.println("Loaded ontology: " + redirectedPizza); 
      System.out.println(" from: " + manager.getOntologyDocumentIRI(redirectedPizza)); 
    } 
} 
+1

你可以发布配置'exec-maven-plugin'的POM部分吗?或者你的整个POM? – Tunaki

+0

在POM中没有关于exec-maven-plugin的配置,是否应该自动配置?也许它包含在其他一些依赖中? –

+0

你是如何调用Maven的?你正在运行的命令是什么? – Tunaki

回答

1

根据堆栈跟踪,at com.mycompany.owlapitest2.App.main(App.java:19)后occored异常被调用,因此很有可能行家的不是一个问题,但你的应用程序中的问题。

根据例外情况,它看起来像你有编译的其他版本的番石榴的代码,然后你在运行时在你的类路径中。

+0

那么如何纠正番石榴或其他解决方案的版本?我从来没有手动设置番石榴。 –

相关问题