2015-05-21 109 views
0

我想我的打包应用程序,但得到了一个错误:问题包装Maven项目:LifecycleExecutionException

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o 
rg.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on 
project javafx: Compilation failure 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:212) 
     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.buildProje 
ct(LifecycleModuleBuilder.java:116) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProje 
ct(LifecycleModuleBuilder.java:80) 
     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThre 
adedBuilder.build(SingleThreadedBuilder.java:51) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(Lifecycl 
eStarter.java:120) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. 
java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces 
sorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Laun 
cher.java:289) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.jav 
a:229) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(La 
uncher.java:415) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java: 
356) 
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation fail 
ure 
     at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompiler 
Mojo.java:729) 
     at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(Default 
BuildPluginManager.java:132) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor 
.java:208) 
     ... 19 more 

我也得到了很多的error: illegal start of expressionerror: illegal start of expression但这个想法编译和运行应用程序以及和它实际上没有任何例外,运作良好。

这里是我的pom.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<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.myapp.edi</groupId> 
<artifactId>javafx</artifactId> 
<version>1.0-SNAPSHOT</version> 

<name>javafx</name> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <mainClass>com.myapp.edi.gui.Main</mainClass> 
</properties> 

<organization> 
    <!-- Used as the 'Vendor' for JNLP generation --> 
    <name>Your Organisation</name> 
</organization> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.5.1</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <id>unpack-dependencies</id> 
        <phase>package</phase> 
        <goals> 
         <goal>unpack-dependencies</goal> 
        </goals> 
        <configuration> 
         <excludeScope>system</excludeScope> 
         <excludeGroupIds>junit,org.mockito,org.hamcrest</excludeGroupIds> 
         <outputDirectory>${project.build.directory}/classes</outputDirectory> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>exec-maven-plugin</artifactId> 
      <version>1.2.1</version> 
      <executions> 
       <execution> 
        <id>unpack-dependencies</id> 

        <phase>package</phase> 
        <goals> 
         <goal>exec</goal> 
        </goals> 
        <configuration> 
         <executable>${java.home}/../bin/javafxpackager</executable> 
         <arguments> 
          <argument>-createjar</argument> 
          <argument>-nocss2bin</argument> 
          <argument>-appclass</argument> 
          <argument>${mainClass}</argument> 
          <argument>-srcdir</argument> 
          <argument>${project.build.directory}/classes</argument> 
          <argument>-outdir</argument> 
          <argument>${project.build.directory}</argument> 
          <argument>-outfile</argument> 
          <argument>${project.build.finalName}.jar</argument> 
         </arguments> 
        </configuration> 
       </execution> 
       <execution> 
        <id>default-cli</id> 
        <goals> 
         <goal>exec</goal>        
        </goals> 
        <configuration> 
         <executable>${java.home}/bin/java</executable> 

        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.16</version> 
      <configuration> 
       <additionalClasspathElements> 
        <additionalClasspathElement>${java.home}/lib/jfxrt.jar</additionalClasspathElement> 
       </additionalClasspathElements> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>1.7.1</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
       </execution> 
      </executions> 
      <configuration> 
       <shadedArtifactAttached>true</shadedArtifactAttached> 
       <shadedClassifierName>shaded</shadedClassifierName> 
       <transformers> 
        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
         <mainClass>com.myapp.edi.gui.Main</mainClass> 
        </transformer> 
       </transformers> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>com.akathist.maven.plugins.launch4j</groupId> 
      <artifactId>launch4j-maven-plugin</artifactId> 
      <version>1.5.1</version> 
      <executions> 
       <execution> 
        <id>l4j-clui</id> 
        <phase>package</phase> 
        <goals> 
         <goal>launch4j</goal> 
        </goals> 
        <configuration> 
         <headerType>gui</headerType> 
         <jar>${project.build.directory}/${artifactId}-${version}-shaded.jar</jar> 
         <outfile>${project.build.directory}/myapp.exe</outfile> 
         <downloadUrl>http://java.com/download</downloadUrl> 
         <classPath> 
          <mainClass>com.myapp.edi.gui.Main</mainClass> 
          <preCp>anything</preCp> 
         </classPath> 
         <icon>src/main/resources/icon/application.ico</icon> 
         <jre> 
          <minVersion>1.6.0</minVersion> 
          <jdkPreference>preferJre</jdkPreference> 
         </jre> 
         <versionInfo> 
          <fileVersion>1.0.0.0</fileVersion> 
          <txtFileVersion>${project.version}</txtFileVersion> 
          <fileDescription>${project.name}</fileDescription> 
          <copyright>2012 hasCode.com</copyright> 
          <productVersion>1.0.0.0</productVersion> 
          <txtProductVersion>1.0.0.0</txtProductVersion> 
          <productName>${project.name}</productName> 
          <companyName>mike.com</companyName> 
          <internalName>myapp</internalName> 
          <originalFilename>myapp.exe</originalFilename> 
         </versionInfo> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

</project> 

我在做什么错?

回答

1

如果可以,请尝试删除pom.xml中与javafx相关的所有内容,并使用java 8.它本地包含javafx。

-1

问题是maven使用的错误java版本。我使用只在第8的语言版本和Maven使用7

+0

的问题很简单,因为你有lambda表达式配置为使用Java 6,请参阅配置maven-compiler-plugin。 – khmarbaise

+0

@khmarbaise不,我尝试设置1.8,但得到了1.8的错误,因为在我的回答中没有找到 –

0

在\ Apache的行家-3.3.9 \的conf \ settings.xml的检查你的本地回购是否正确