2016-06-14 6 views
0

SpringとHibernateとすべてのJava 8のものでIntellijでプログラムをインポートしましたが、Java 8が見えないという問題があります。 JDKが設定されており、インポートは正常です。なぜ私のIDEがこのコードに赤で下線を引っ張っているのか分かりません。コードは次のとおりです。Java 8ラムダは認識できませんが、設定はOKです

@Entity 
@Table(name = "author") 
public class Author extends BaseEntity<Long> { 

    @Column(name = "name") 
    private String name; 

    @OneToMany(mappedBy = "author", fetch = FetchType.EAGER) 
    private List<Book> bookList; 

    public Author() { 
    } 

    public Author(String name, List<Book> bookList) { 
     this.name = name; 
     this.bookList = bookList; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public List<Book> getBookList() { 
     return bookList; 
    } 

    public void setBookList(List<Book> bookList) { 
     this.bookList = bookList; 
    } 

    public Set<Book> getBooks() { // !!!!! here lines 1 
     return Collections.unmodifiableSet(// 2 
       this.bookList.stream(). // 3 
         collect(Collectors.toSet()));//4 are red 
    } 

import声明:

import java.util.stream.Collectors; 

は同様に赤です。エラーをクリックすると、次のように表示されます。

Incompatible types.Required set <packet.model.book> 
        Found set <java.lang.Object> 

最初の面で問題が発生する可能性はありますか?

答えて

0

あなたはmavenを使用していますね。はいの場合は、pom.xmlで定義されているjavaバージョンを確認してください。定義されていない場合、IDEは1.8とは異なるデフォルト値を使用します。あなたはmaven-compiler-pluginを使用して明示的に1.8にJDKのバージョンを設定することができ

: - >プロジェクト構造

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.5.1</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
     <showWarnings>true</showWarnings> 
     <encoding>${project.build.sourceEncoding}</encoding> 
    </configuration> 
</plugin> 

をしてください、あなたはファイルを行く場合は、Java 8に言語レベルをも設定していることを確認してください - >プロジェクト設定 - >プロジェクトを選択すると、そこにプロジェクトSDKとプロジェクト言語レベルの両方を設定できます。プロジェクト構造に設定するJava 8の両方はJava 8に設定されている

2

ていることを確認してくださいctrl+alt+sまたはFile -> Project Structure

img1 img2 img3

次の画像を見ます
関連する問題