2015-10-19 48 views
0

我在Eclipse中有一個小項目。我將它轉換成Maven項目。一切都很好,直到我試圖使用ObjectOutputStream。我的同事有一個writeInt()方法,他可以一個ObjectOutputStream物體上使用:Eclipse/Maven中錯誤的JDK/JRE?

ObjectOutputStream os = new ObjectOutputStream(new BufferedOutputStream(
      socket.getOutputStream())); 

os.writeInt(someInt); 

我意識到Maven的在我的項目已經設置了JDK版本爲1.5。方法writeInt()在JDK 1.5中的ObjectOutputStream中不可用,但它在1.7中。

現在一些混亂進入我的項目,似乎它使用JDK 1.7,但我仍然無法訪問該方法...我嘗試了一切,但沒有影響......有什麼辦法來修復這個問題嗎?

+0

發佈您的POM文件。 – Tunaki

+0

你的假設是錯誤的.'writeInt'存在了很長一段時間!發佈錯誤消息。 這是一個指向Java 1.5中的方法的鏈接(http://docs.oracle.com/javase/1.5.0/docs/api/java/io/ObjectOutputStream.html#writeInt(int)) –

+0

我的不好,我還沒有看到我正在處理的對象是OutputStream,而不是ObjectOutputStream ... – dziki

回答

0

可能性是使用maven-compiler-plugin來設置代碼的來源和目標,如下所示。

<build> 
    <plugins> 
    <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> 
    </plugins> 
</build>