web-dev-qa-db-ja.com

プログラミングJava 7

JDK 7 および Eclipse 3.6M6 をインストールしました。次に、EclipseにJRE 7を新しいJRE実行環境として追加し、コンパイラー準拠レベルをJava 7に設定します。javac JDK 7に付属しています。

import Java.util.HashMap;
import Java.util.Map;

public class Try {

    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
    }
}

ただし、Eclipseでは次のエラーメッセージが表示されます。

タイプHashMapの引数の数が正しくありません。引数Try.Java/TryJava7/src line 7 Java問題でパラメーター化することはできません

トークン「<」の構文エラー、?このトークンの後に期待されるTry.Java/TryJava7/src行7 Java問題

コンパイラーの準拠レベルをJava 7に設定しましたが、EclipseはまだJava7構文を理解していないようです。Java 7 Eclipseで?

以下は、.classpathの内容です。

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
  <classpathentry kind="src" path="src"/>
  <classpathentry kind="con" path="org.Eclipse.jdt.launching.JRE_CONTAINER/org.Eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
  <classpathentry kind="output" path="bin"/>
</classpath>

そして、以下は.settings/org.Eclipse.jdt.core.prefsの内容です。

Eclipse.preferences.version=1
org.Eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.Eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.Eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.Eclipse.jdt.core.compiler.compliance=1.7
org.Eclipse.jdt.core.compiler.debug.lineNumber=generate
org.Eclipse.jdt.core.compiler.debug.localVariable=generate
org.Eclipse.jdt.core.compiler.debug.sourceFile=generate
org.Eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.Eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.Eclipse.jdt.core.compiler.source=1.7
50
reprogrammer

http://wiki.Eclipse.org/JDT_Core/Java7http://wiki.Eclipse.org/PDE/API_Tools/Java7 および Bug 288548 Java 7.のEclipseの継続的なサポートについて。および http:/ /wiki.Eclipse.org/JDT/Eclipse_Java_7_Support_%28BETA%29 Java 7の評価方法については、.

UPDATE 1:BETA_Java7ブランチがHEADおよびR3_7_maintenanceにマージされました( Eclipse-dev archive )。

更新2:Eclipse 3.7.1(Indigo SR1)サポートJava 7

18
reprogrammer

Alexが指摘したように、Eclipseは現在Java 7をサポートしていない独自のコンパイラーを使用しており、 Eclipseプロジェクトのプロジェクト計画、バージョンHelios で説明されているように、Java 7は保留され、3.6リリースから分離されました。

  • (new) deferred)Java SE 7機能のサポートを追加します。 Java SEの次の機能リリースはバージョン7で、おそらく2010年後半に利用可能になる予定です。このリリースの内容についてはまだ議論中ですが、そのリリースにはJava言語(型の注釈(JSR-308)、モジュール性のサポート(JSR-294)、およびその他の小さな言語の変更(Coinプロジェクト)を含む)。 Eclipse Javaツールには、仕様が公開されている部分(この時点ではJSR-308のみ)のJava 7のアプリケーションのコンパイル、編集、起動の初期サポートが含まれます。 [JDT Core、JDT UI]( 288548

    注:スケジュールを遅れた公式Java 7の外観に合わせて、公開されている仕様の欠如(Java 7 JSR)、開発作業を別のブランチに移動し、3.6リリースから切り離すことにしました。そのブランチでは、Java 7の機能が一般にアクセス可能になったときに開発を続けます。 Java 7機能への早期アクセスを提供するために、公式ビルドの個別の更新を提供します。

40
Pascal Thivent

Eclipseには、独自の埋め込みJavaコンパイラーがあります。Eclipseベータ版またはそのようなものが既にコンパイルできる場合は、Java 7になります。 。

Netbeansは動作するはずです。

6
Axel Gneiting

次のCVSリポジトリ情報を使用して、org.Eclipse.jdt.coreのいわゆるJSR 308ブランチをチェックアウトします。

Connection type: pserver
User: anonymous
Host: dev.Eclipse.org
Port: Default
Repository path: /cvsroot/Eclipse
Module: org.Eclipse.jdt.core
Tag: JSR_308 (Branch)

次に、指示に従って、チェックアウトされたJDTをEclipseにインストールしました。続いて、org.Eclipse.jdt.core.tests.compiler/src/org/Eclipse/jdt/core/tests/compiler/regression/NegativeTypeAnnotationTest.Javaおよび/org.Eclipse.jdt.core.tests.compiler/src/org/Eclipse/jdt/core/tests/compiler/regression/TestAll.Java JSR 308型の注釈を実行する小さな例を考え出す。

この時点で、型の注釈が存在する場合、ブランチは.classファイル内の対応する新しい属性をサポートおよび生成します。ただし、注釈プロセッサは機能していないようです。

3
reprogrammer

JDTでJava 7サポート(ベータ)が利用可能になりました。 http://thecoderlounge.blogspot.com/2011/06/Java-7-support-in-Eclipse-jdt-beta.html を参照してください

2
Deepak Azad