2013-10-16 54 views
1

最近我升级我的Java版本7u40在我的Fedora 19在这之后我开始我目前的JavaFX项目运行过程中得到一个annoing错误:JavaFX的Maven插件和API不兼容

[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.929s 
[INFO] Finished at: Wed Oct 16 17:36:05 CEST 2013 
[INFO] Final Memory: 11M/155M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal com.zenjava:javafx-maven-plugin:2.0:run (default-cli) on project browser: Execution default-cli of goal com.zenjava:javafx-maven-plugin:2.0:run failed: An API incompatibility was encountered while executing com.zenjava:javafx-maven-plugin:2.0:run: java.lang.NoSuchMethodError: org.apache.maven.execution.MavenSession.getRepositorySession()Lorg/sonatype/aether/RepositorySystemSession; 
[ERROR] ----------------------------------------------------- 
[ERROR] realm = plugin>com.zenjava:javafx-maven-plugin:2.0 
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy 
[ERROR] urls[0] = file:/home/sk_/.m2/repository/com/zenjava/javafx-maven-plugin/2.0/javafx-maven-plugin-2.0.jar 
[ERROR] urls[1] = file:/home/sk_/.m2/repository/org/twdata/maven/mojo-executor/2.0/mojo-executor-2.0.jar 
[ERROR] urls[2] = file:/home/sk_/.m2/repository/org/sonatype/aether/aether-util/1.7/aether-util-1.7.jar 
[ERROR] urls[3] = file:/home/sk_/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.14/plexus-interpolation-1.14.jar 
[ERROR] urls[4] = file:/home/sk_/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar 
[ERROR] urls[5] = file:/home/sk_/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar 
[ERROR] urls[6] = file:/home/sk_/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar 
[ERROR] urls[7] = file:/home/sk_/.m2/repository/org/codehaus/plexus/plexus-utils/1.5.1/plexus-utils-1.5.1.jar 
[ERROR] urls[8] = file:/home/sk_/.m2/repository/org/sonatype/sisu/sisu-inject-bean/1.4.2/sisu-inject-bean-1.4.2.jar 
[ERROR] urls[9] = file:/home/sk_/.m2/repository/org/sonatype/sisu/sisu-guice/2.1.7/sisu-guice-2.1.7-noaop.jar 
[ERROR] urls[10] = file:/home/sk_/.m2/repository/org/codehaus/plexus/plexus-archiver/2.1.1/plexus-archiver-2.1.1.jar 
[ERROR] urls[11] = file:/home/sk_/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar 
[ERROR] urls[12] = file:/home/sk_/.m2/repository/org/codehaus/plexus/plexus-io/2.0.3/plexus-io-2.0.3.jar 
[ERROR] urls[13] = file:/usr/java/jdk1.7.0_45/jre/../lib/ant-javafx.jar 
[ERROR] Number of foreign imports: 1 
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]] 
[ERROR] 
[ERROR] ----------------------------------------------------- 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[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/PluginContainerException 

任何人都面对这个?

回答

7

与Maven降级解决了3.0.5

15

我能够通过配置我的JavaFX的Maven的插件如下来解决这个问题的行家3.1.1(指定的魔力执行人版本2.1.0)。 ..

<build> 
    <plugins> 
     <plugin> 
      <groupId>com.zenjava</groupId> 
      <artifactId>javafx-maven-plugin</artifactId> 
      <version>2.0</version> 
      <configuration> 
       <mainClass>net.jalbright.scratch.App</mainClass> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.twdata.maven</groupId> 
        <artifactId>mojo-executor</artifactId> 
        <version>2.1.0</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 

的JavaFX的Maven的插件将被更新为使用魔力执行人到2.1.0在下一版本中(参见:https://github.com/zonski/javafx-maven-plugin/issues/32),所以这可一旦JavaFX的Maven的插件获得被删除rev'd。

+0

我使用maven 3.2.5并指定** mojo-executor版本**为我解决了这个问题。 – emont01

+0

从8.4.0版本开始的javafx-maven插件(从今天开始发布)不再需要* mojo-executor *),所以它应该没有像这样的解决方法。 *免责声明:我是该插件的维护者* – FibreFoX