0

私は日本人なので、下手な英語が使われています。ご了承ください。lombok を使用してうまくコンパイルすることはできません。(ソースサイトはhttp://projectlombok.org/download.html ) Lombok をインストールした Eclipse をコンパイルし、jad で逆コンパイルしました。

import java.sql.*;
import lombok.Cleanup;
public class TEST {
    public static void main(String[] args) throws Exception {
        Connection conn = null;
        // Statement
        @Cleanup Statement cstmt = null;
        cstmt = conn.prepareCall("{call 11111.22222(?,?,?,?,?,?,?,?,?)}");
        // Execute
        cstmt.executeBatch();
        //write file code goes here 
    }
}

 

import java.sql.Connection;
import java.sql.Statement;
import java.util.Collections;
import java.util.List;
public class TEST
{
  public static void main(String[] args)
    throws Exception
  {
    Connection conn = null;

    Statement cstmt = null;
    try { cstmt = conn.prepareCall("{call 11111.22222(?,?,?,?,?,?,?,?,?)}");

      cstmt.executeBatch();
    }
    finally
    {
      if (Collections.singletonList(cstmt).get(0) != null) cstmt.close();
    }
  }
} 

eclipseのコンパイル結果では、欲しい結果です。しかし、これはコマンドラインでコンパイルされた結果はEclipseの結果と一致しません javac -cp lib\lombok.jar src\TEST.java

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.Statement;

public class TEST
{
  public static void main(String[] paramArrayOfString)
    throws Exception
  {
    Object localObject = null;

    CallableStatement localCallableStatement = null;
    localCallableStatement = localObject.prepareCall("{call 11111.22222(?,?,?,?,?,?,?,?,?)}");

    localCallableStatement.executeBatch();
  }
}

コマンドラインでの実行でコンパイル結果と同じeclipseの結果を取得したい。どうすればいいですか?

OS setting
jdk=1.5
eclipse
jdk=1.5
4

1 に答える 1

3

Lombok を とともに使用するには、JDK 1.6 が必要javacです。ただし、Eclipse から Lombok を使用すると、この制限がなくなります。

于 2011-07-25T09:50:47.123 に答える