使用lombok无法很好地编译

时间:2011-07-25 09:07:16

标签: java javac lombok

因为我是日本人,所以使用英语不好。 请承认。 使用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

1 个答案:

答案 0 :(得分:3)

Lombok要求JDK 1.6与javac一起使用。但是,使用Eclipse中的Lombok没有这个限制。