2015-08-24 2 views
2

Я сделал понижение java 8 до java 7, и я не могу запустить свой проект.JRE System Library - Неподдерживаемая версия major.minor 52.0

Мои конфигурации затмения являются:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Мой 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>br.usp.icmc.jenkins.saucelabs</groupId> 
    <artifactId>JenkinsSaucelabs</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>JenkinsSaucelabs</name> 
    <description>JenkinsSaucelabs</description> 

    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.json</groupId> 
      <artifactId>json</artifactId> 
      <version>20141113</version> 
     </dependency> 
     <dependency> 
      <groupId>net.sf.json-lib</groupId> 
      <artifactId>json-lib</artifactId> 
      <version>2.4</version> 
      <!-- Dependente da versão da JDK --> 
      <classifier>jdk15</classifier> 
     </dependency> 
     <!-- Jersey --> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-server</artifactId> 
      <version>1.11</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-servlet</artifactId> 
      <version>1.11</version> 
     </dependency> 

     <!-- Json --> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-json</artifactId> 
      <version>1.11</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sun.jersey</groupId> 
      <artifactId>jersey-client</artifactId> 
      <version>1.19</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>jsr311-api</artifactId> 
      <version>0.11</version> 
     </dependency> 

     <dependency> 
      <groupId>com.restfb</groupId> 
      <artifactId>restfb</artifactId> 
      <version>1.11.0</version> 
     </dependency> 

     <dependency> 
      <groupId>log4j</groupId> 
      <artifactId>log4j</artifactId> 
      <version>1.2.17</version> 
     </dependency> 

     <dependency> 
      <groupId>com.google.code.gson</groupId> 
      <artifactId>gson</artifactId> 
      <version>2.3.1</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <finalName>TesteJSONSauceLabs</finalName> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.0</version> 
       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 


</project> 

Я проверил альтернативные варианты постов:

Eclipse JRE System Library [J2SE-1.5]

No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

Stacktracer:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/json/JSONObject : Unsupported major.minor version 52.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at br.usp.icmc.teste.ConnectionRestClient.getSaucelabsJobsByID(ConnectionRestClient.java:30) 
    at br.usp.icmc.teste.TestePrincipal.main(TestePrincipal.java:8) 

Почему я получаю исключение UnsupportedClassVersionError с Unsupported major.minor version 52.0? Где я ошибаюсь?

+2

Вы проверили это? http://stackoverflow.com/questions/22489398/unsupported-major-minor-version-52-0 – sweerpotato

+1

Есть ли имя класса в сообщении об ошибке? – user158037

+0

Тестирование также входит в JRE и JDK как в версии 7 в пути построения проекта, так и по-прежнему не работает. – ricardoramos

ответ

1

Вы работаете в приложение с неверной версией Явы, или некоторые из зависимостей, которые вы используете для компиляции Java 8.

Убедитесь, что ваш JAVA_HOME указывает на правильность установки Java и Eclipse, использует поистине Java 7.

+0

My $ JAVA_HOME в .bashrc файле: export JAVA_HOME = "/ usr/local/java/jdk1.7.0_80" – ricardoramos

+0

Я сомневаюсь в зависимости net.sf.json-lib, требующей jdk15 для работы. – ricardoramos

+0

Я нашел зависимость: http://stackoverflow.com/questions/27352672/how-to-use-the-org-json-java-library-with-java-7 – ricardoramos

1

После того, как вы изменили версию Java, используемую в файле POM, обновили ли вы зависимости проекта в Eclipse?

В Eclipse Luna (и, возможно, Eclipse Mars) это делается нажатием Alt-F5 или щелчком правой кнопкой мыши по проекту Maven, выбрав меню Maven, а затем нажав кнопку «Обновить проекты».

Это вызовет новый диалог, который выглядит примерно так:

Update Maven Project

Все проекты Maven в текущем рабочем пространстве Eclipse, должен быть показан. В приведенном выше примере это родительский проект с несколькими дочерними проектами.

Вы должны выбрать все проекты Maven в своей рабочей области, а затем нажмите OK.

Это должно заставить Maven обновить все зависимости для проекта ... включая версию Java, которую Maven пытается использовать для проекта.

+0

Я последовал твоему предложению Владыка и даже все еще не работал. – ricardoramos

+0

Когда я запускаю maven, установите затмение, он строит проект успешно. Но при запуске я получаю исключение. – ricardoramos

+0

Спасибо за объяснение Владелец, он отлично работал. – ricardoramos

Смежные вопросы