2015-10-16 153 views
3

我做不受支持的版本MAJOR.MINOR 52.0 - Maven的錯誤JAVA

mvn install

和我得到的錯誤:

[ERROR] Failed to execute goal org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:set-version (default-set-version) on project componentX-share: Execution default-set-version of goal org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0:set-version failed: Unable to load the mojo 'set-version' in the plugin 'org.alfresco.maven.plugin:alfresco-maven-plugin:2.1.0' due to an API incompatibility: org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/alfresco/maven/plugin/VersionMojo : Unsupported major.minor version 52.0

但我已經看到了,如果的Java版本是平等的,這是正確的。

像:

which javac -> /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/javac

which java -> /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java

javac -> -version javac 1.7.0_79

java -> -version java version "1.7.0_79" OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

mvn -v -> Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T12:57:37+01:00) Maven home: /home/patricia/Transferências/apache-maven-3.3.3 Java version: 1.7.0_79, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-7-openjdk-amd64/jre Default locale: pt_PT, platform encoding: UTF-8 OS name: "linux", version: "3.19.0-25-generic", arch: "amd64", family: "unix"

我認爲,所有這是正確的。而我的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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.acme</groupId> 
    <artifactId>componentX-share</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <name>componentX-share AMP project</name> 
    <packaging>amp</packaging> 
    <description>Manages the lifecycle of the componentX-share AMP (Alfresco Module Package)</description> 

    <parent> 
     <groupId>org.alfresco.maven</groupId> 
     <artifactId>alfresco-sdk-parent</artifactId> 
     <version>2.1.0</version> 
    </parent> 

    <!-- 
     SDK properties have sensible defaults in the SDK parent, 
     but you can override the properties below to use another version. 
     For more available properties see the alfresco-sdk-parent POM. 
     --> 
    <properties> 
     <!-- The following are default values for data location and Alfresco version. 
      Uncomment if you need to change 
     <alfresco.version>${alfresco.community.default.version}</alfresco.version> --> 

     <!-- This control the root logging level for all apps uncomment and change, defaults to WARN 
      <app.log.root.level>WARN</app.log.root.level> 
     --> 

     <!-- Set the enviroment to use, this controls which properties will be picked in src/test/properties 
      for embedded run, defaults to the 'local' environment. See SDK Parent POM for more info. 
     <env>other environment name</env> 
     --> 

     <!-- The Maven artifact ID to use when loading the Share.WAR that the AMP should be applied to, 
        defaults to the alfresco.war artifact ID, so we need to override here. --> 
     <app.amp.client.war.artifactId>${alfresco.share.artifactId}</app.amp.client.war.artifactId> 

     <!-- Since Alfresco.WAR (i.e. the Repository) is already running on port 8080, we run Share.WAR on port 8081 --> 
     <maven.tomcat.port>8081</maven.tomcat.port> 

     <!-- Used in share-config-custom.xml. By default points to local installation of Alfresco Repo --> 
     <alfresco.repo.url>http://localhost:8080/alfresco</alfresco.repo.url> 
     <maven.compiler.target>1.7</maven.compiler.target> 
     <maven.compiler.source>1.7</maven.compiler.source> 
    </properties> 

    <!-- Here we realize the connection with the Alfresco selected platform 
     (e.g.version and edition) --> 
    <dependencyManagement> 
     <dependencies> 
      <!-- This will import the dependencyManagement for all artifacts in the selected Alfresco version/edition 
       (see http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies) 
       NOTE: You still need to define dependencies in your POM, but you can omit version as it's enforced by this dependencyManagement. NOTE: It defaults 
       to the latest version this SDK pom has been tested with, but alfresco version can/should be overridden in your project's pom --> 
      <dependency> 
       <groupId>${alfresco.groupId}</groupId> 
       <artifactId>alfresco-platform-distribution</artifactId> 
       <version>${alfresco.version}</version> 
       <type>pom</type> 
       <scope>import</scope> 
      </dependency> 
     </dependencies> 
    </dependencyManagement> 

    <!-- Following dependencies are needed for compiling Java code in src/main/java; --> 
    <dependencies> 
     <dependency> 
      <groupId>${alfresco.groupId}</groupId> 
      <artifactId>share</artifactId> 
      <version>${alfresco.version}</version> 
      <classifier>classes</classifier> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.extensions.surf</groupId> 
      <artifactId>spring-surf-api</artifactId> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <!-- Compress JavaScript files and store as *-min.js --> 
      <plugin> 
       <groupId>net.alchim31.maven</groupId> 
       <artifactId>yuicompressor-maven-plugin</artifactId> 
      </plugin> 
     </plugins> 
    </build> 

    <profiles> 
     <!-- 
      Brings in the extra Enterprise specific share classes, 
      if the 'enterprise' profile has been activated, needs to be activated manually. --> 
     <profile> 
      <id>enterprise</id> 
      <dependencies> 
       <dependency> 
        <groupId>${alfresco.groupId}</groupId> 
        <artifactId>share-enterprise</artifactId> 
        <version>${alfresco.version}</version> 
        <classifier>classes</classifier> 
        <scope>provided</scope> 
       </dependency> 
      </dependencies> 
     </profile> 
    </profiles> 
</project> 

我已經嘗試添加行的pom.xml,如:

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.3</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 

,我在「計算器」等解決方案看到,但我解決不了問題。我不想升級Java版本(如果它是解決方案),我想用Java 7運行。任何想法?

如果解決方案僅針對Java 8升級,請告訴我。

謝謝。

+0

你的'JAVA_HOME'指向什麼? – vikingsteve

+0

@vikingsteve echo $ JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk-amd64 – PRVS

回答

7

您的問題是Maven Alfresco Plugin 2.1.0需要JDK 1.8,如異常(版本52.0)所示。 你可以在這裏對插件的要求:Maven Alfresco PLugin Requirements

所以你的選擇是降級露天插件版本或升級到JDK 1.8。

+1

好吧,這就是我想知道的。 – PRVS

2

Unsupported major.minor version 52.0

您需要Java SE 8或更高版本。

+1

Java SE 8 _或later_。 –

+0

@ThorbjørnRavnAndersen是的,+1,這是正確的。我已經更新了我的答案。 – Puce

0

在項目設置中更改maven ----> Project Facedes ---> Java 1.8 to 1.7 .. 並檢查在JRE或JDK上運行的構建路徑... 如果JRE更改爲JDK ... JavaPath in STS

+0

這個問題不是關於日食,而是maven。 – lilalinux

相關問題