2017-08-06 25 views
0

は、私は、Java 8と春+休止プロジェクトを実行しようとしている。しかし春4:Javaの8の互換性

は、私たちは、Java 8で春3 *を使用している場合、それが原因とされていることを確認し、この問題に直面しています。しかし私は、Java 8と春4. *を使用していますなど、Java 8はもう春と互換性がありませんし、我々は、Java 7をダウンロードすることができない場合ので、場合

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring/config/BeanLocations.xml]; nested exception is java.lang.IllegalStateException: Context namespace element 'component-scan' and its parser class [org.springframework.context.annotation.ComponentScanBeanDefinitionParser] are only available on JDK 1.5 and higher 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113) 
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) 
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83) 
    at com.mkyong.common.App.main(App.java:13) 
Caused by: java.lang.IllegalStateException: Context namespace element 'component-scan' and its parser class [org.springframework.context.annotation.ComponentScanBeanDefinitionParser] are only available on JDK 1.5 and higher 
    at org.springframework.context.config.ContextNamespaceHandler$1.parse(ContextNamespaceHandler.java:65) 
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1297) 
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1287) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135) 
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398) 
    ... 14 more 

の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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.mkyong.common</groupId> 
    <artifactId>SpringExample</artifactId> 
    <packaging>jar</packaging> 
    <version>1.0-SNAPSHOT</version> 
    <name>SpringExample</name> 
    <url>http://maven.apache.org</url> 

    <repositories> 
    <repository> 
     <id>JBoss repository</id> 
     <url>http://repository.jboss.com/maven2/</url> 
    </repository> 
    </repositories> 
    <properties> 
     <springframework.version>4.0.6.RELEASE</springframework.version> 
     <hibernate.version>4.3.6.Final</hibernate.version> 
     <mysql.connector.version>5.1.31</mysql.connector.version> 
     <joda-time.version>2.3</joda-time.version> 
    </properties> 
    <dependencies> 


<dependency> 
       <groupId>junit</groupId> 
       <artifactId>junit</artifactId> 
       <version>3.8.1</version> 
       <scope>test</scope> 
     </dependency> 


     <!-- Spring --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-core</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-context</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-tx</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-orm</artifactId> 
      <version>${springframework.version}</version> 
     </dependency> 

     <!-- Hibernate --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>${hibernate.version}</version> 
     </dependency> 

     <!-- MySQL --> 
     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>${mysql.connector.version}</version> 
     </dependency> 

     <!-- Joda-Time --> 
     <dependency> 
      <groupId>joda-time</groupId> 
      <artifactId>joda-time</artifactId> 
      <version>${joda-time.version}</version> 
     </dependency> 

     <!-- To map JodaTime with database type --> 
     <dependency> 
      <groupId>org.jadira.usertype</groupId> 
      <artifactId>usertype.core</artifactId> 
      <version>3.0.0.CR1</version> 
     </dependency> 

    </dependencies> 
    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.2</version> 
        <configuration> 
         <source>1.6</source> 
         <target>1.6</target> 
        </configuration> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 


</project> 

を発生するべきではありません今。アプリケーションとJavaをどのように統合できるのでしょうか。

助けてください

+0

例外は「[...]はJDK 1.5以上でのみ利用可能です」と述べています。何がjava8を使用してここで何かを壊すと思いますか? – f1sh

+0

このhttps://stackoverflow.com/questions/32554635/why-am-i-getting-a-jdk-1-5-related-error-message-in-java-8 – sparsh610

+0

奇妙なことは、彼はすでにSpingは '4.0.6.RELEASE'を使いますが、Springは' 4.0.3'からJava 8をサポートしています。 https://spring.io/blog/2014/03/27/spring-framework-4-0-3-released-with-java-8-support-now-production-ready –

答えて

0

あなたのspring.xmlに問題があるようです。
context:component-scan packages = ""
スキン定義に最新のspring xsdを使用していることを確認し、試してみてください。注釈を使用している場合はお知らせください。 私はSpring 4.3.0とJava 8を完全にうまく動作させています。私はSpring 4.1.3とJava 8とも協力してきました。それはチャンピオンのように働いていました。ご質問がある場合はお知らせください。

2

Spring 3.xのバージョンはJava 7までしかサポートしていません。 JDK8に移動する場合は、Spring 4+を使用する必要があります。

あなたのツールチェーンに問題があると思います。あなたがソースコードをコンパイルするためのJDK 8を使用している

  • :あなたは、いることを確認し、次の手順に

    を取ることによって、問題のトラブルシューティングを行うことができます。これを確認することができます $ java -version

  • あなたのmavenはコンパイルレベルが のソースコードをコンパイルするよう指示されています。私は ターゲットコンパイルレベル "1.6"をコンパイルするように設定されているmavenコンパイルプラグインを使用していることがわかります。
  • Mavenは適切なバージョンのSpringライブラリを追加します。 あなたのクラスパスに古いSpringバージョン の一時的な依存関係が残っていることがあります。あなたはプロジェクトが ちなみに$ mvn dependency:tree

を与えることによってフェッチする依存関係を確認でき、Springフレームワークは、いくつかの内部メソッドを実行しながら、JDKのバージョンを見つけるしようとします。解決されたJDKバージョンがサポートされているJDKバージョンにリストされていない場合は、デフォルトでJava 1.4になりますので、例外メッセージに「期待バージョンはJDK 1.5より大きい必要があります」と表示されます。あなたのクラスパスに古いバージョンのSpringがいくつか残っているかもしれません。サーブレットコンテナ(Tomcatなど)や一時的なものです。

希望します。