我编译Spring引导应用程序使用jdk1.7application.jar文件,但当我运行application.jar安装jdk1.6的机器上,出现了这个错误
线程“main”java中出现异常。lang.UnsupportedClassVersionError:com/saifiahmada/spring/Application:不支持的专业。次要版本51.0
这是我的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.saifiahmada.spring</groupId>
<artifactId>dashboard</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>dashboard tsd</name>
<description>dashboard tsd</description>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.1.RELEASE</version>
</parent>
<properties>
<webjars-bootstrap.version>3.2.0</webjars-bootstrap.version>
<webjars-jquery-ui.version>1.9.2</webjars-jquery-ui.version>
<webjars-jquery.version>2.1.1</webjars-jquery.version>
<java.version>1.6</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<tomcat.version>7.0.59</tomcat.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.4</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- <configuration>
<source>1.6</source>
<target>1.6</target>
</configuration> -->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.0.RELEASE</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
谢啦
[编辑]到@Saurabh,我更改pom中的依赖项。用于spring boot starter数据jpa的xml,如下所示:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.1_spec</artifactId>
<version>1.0.0.Final</version>
</dependency>
较新的Java版本与较旧的Java版本兼容,但不是相反。因此,您通常无法在Java6运行时环境上运行使用JDK 7编译的代码。
确保它在Java6上工作的最佳方法是使用JDK6而不是JDK7来编译代码。
这意味着您必须下载并安装JDK 6,并确保在编译代码而不是JDK 7时使用它。(注意:Oracle不再支持JDK 6,您仍然可以下载它,但Oracle要求您创建一个帐户才能下载它)。
您遇到的问题是,您的一个依赖项需要一些根据Java7(javax.transaction-api-1.2.jar)编译的jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
请看看这个,它描述了如何在Java6上运行Spring Boot:
http://docs.spring.io/spring-boot/docs/1.2.2.RELEASE/reference/htmlsingle/#howto-use-java-6
此处引用的重要位仅供参考:
"虽然Java事务API本身不需要Java7,但官方API jar包含的类需要Java7。如果您使用的是JTA,那么您需要将官方的JTA 1.2 API jar替换为已经构建用于Java6的。要做到这一点,排除对javax.transactionjavax.transactionapi的任何传递依赖,并将其替换为对org.jboss.spec.javax.transactionjboss-transaction-api_1的依赖。2_spec: 1.0.0。最终”
请看这里:
http://docs.spring.io/spring-boot/docs/1.2.2.RELEASE/reference/htmlsingle/#getting-启动系统需求
我知道你正在使用Spring Bug 1.2.1,我的所有引用都是1.2.2,但是很有可能这个问题在1.2.1中已经存在,并且1.2.1已经不能下载了,所以你可能想考虑升级。但是使用Java6会遇到麻烦,所以您最好考虑升级您的环境。
FWIW,你的pom中甚至不需要这些线条。xml:
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
我的Android项目设置为使用Maven,所以我从pom.xml文件导入IntelliJ。IntelliJ中的编译器设置正确地指向1.7,但当我尝试编译时我得到: 错误:java:javacTask:源版本1.7要求目标版本1.7 我对maven编译器插件的设置将源和目标都设置为这个,所以这不是问题所在。但是,在模块设置中,我看到我的模块正在使用 Maven Android API 19平台(j
问题内容: 我正在尝试使用JavaMail API发送电子邮件。我从自解压二进制文件在我的主目录中安装了jdk 1.5。我正在使用Ubintu 9.10 我使用下一条命令编译程序: 〜/ jdk1.5.0_22 / bin / javac -classpath〜/ jdk1.5.0_22 / jre / lib / javamail-1.4.3 / mail.jar:〜/ jdk1.5.0_22
我有一个Spring启动应用程序,需要: 可以在servlet容器中作为战争部署 通过“mvn Spring Boot:运行”可运行`` 我还希望通过右键单击并运行它,能够在我的IDE(Eclipse或IntelliJ IDEA社区)中运行此应用程序。 下面是我的pom.xml的有趣部分(注意,我不是从spring boot starter父pom继承的): 这是我的: 在IDE中运行main时,
我正在用Java编写一个程序,并且使用JavaFX作为GUI。直到今天,我一直在使用javafx独立编写代码,所有的事情都运行得很顺利。我已经决定开始使用maven,现在项目不编译,也不运行或执行。 这是我的主要课程: 我在其他项目中使用过maven,但从未使用过JavaFX。我该怎么办?
问题内容: 我在文件MyClass.java文件中有一个名为MyClass的类(下面提到的代码) 我在上课 但是我正在尝试使用 要么 我遇到错误 但是,如果我省略了软件包名称,则可以运行该程序。我要去哪里错了? 问题答案: 确保您位于包文件夹(已编译的类文件所在的文件夹)的父目录中,并执行以下命令: 下面是一个示例文件结构: 在上面的示例结构中,您将必须从“ bin”目录中执行命令。 另外,将类定