BUG #6106: JAR File has no source attachment

Поиск
Список
Период
Сортировка
От Jon C.
Тема BUG #6106: JAR File has no source attachment
Дата
Msg-id 201107101404.p6AE4RUK079441@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #6106: JAR File has no source attachment  (Craig Ringer <craig@postnewspapers.com.au>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      6106
Logged by:          Jon C.
Email address:      camilleri.jon@gmail.com
PostgreSQL version: 9.0
Operating system:   Win XP SP3
Description:        JAR File has no source attachment
Details:

When running ExecSQL.java on my machine an error is being displayed.

Eclipse 3.6.2.

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Jon>java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

Source code
package code;

/**
@version 1.30 2004-08-05
@author Cay Horstmann
*/

import java.io.*;
import java.util.*;
import java.sql.*;

/**
Executes all SQL statements in a file.
Call this program as
java -classpath driverPath:. ExecSQL commandFile
*/
class ExecSQL
{
public static void main (String args[])
{
   try
   {
      Scanner in;
      if (args.length == 0)
         in = new Scanner(System.in);
      else
         in = new Scanner(new File(args[0]));

      Connection conn = getConnection();
      try
      {
         Statement stat = conn.createStatement();

         while (true)
         {
            if (args.length == 0) System.out.println("Enter command or EXIT
to exit:");

            if (!in.hasNextLine()) return;

            String line = in.nextLine();
            if (line.equalsIgnoreCase("EXIT")) return;
            try
            {
               boolean hasResultSet = stat.execute(line);
               if (hasResultSet)
                  showResultSet(stat);
            }
            catch (SQLException e)
            {
               while (e != null)
               {
                  e.printStackTrace();
                  e = e.getNextException();
               }
            }
         }
      }
      finally
      {
         conn.close();
      }
   }
   catch (SQLException e)
   {
      while (e != null)
      {
         e.printStackTrace();
         e = e.getNextException();
      }
   }
   catch (IOException e)
   {
      e.printStackTrace();
   }
}

/**
   Gets a connection from the properties specified
   in the file database.properties
   @return the database connection
*/
public static Connection getConnection()
   throws SQLException, IOException
{
   Properties props = new Properties();
   FileInputStream in = new FileInputStream("database.properties");
   props.load(in);
   in.close();

   String drivers = props.getProperty("jdbc.drivers");
   if (drivers != null) System.setProperty("jdbc.drivers", drivers);

   String url = props.getProperty("jdbc.url");
   String username = props.getProperty("jdbc.username");
   String password = props.getProperty("jdbc.password");

   return DriverManager.getConnection(url, username, password);
}

/**
   Prints a result set.
   @param stat the statement whose result set should be
   printed
*/
public static void showResultSet(Statement stat)
   throws SQLException
{
   ResultSet result = stat.getResultSet();
   ResultSetMetaData metaData = result.getMetaData();
   int columnCount = metaData.getColumnCount();

   for (int i = 1; i <= columnCount; i++)
   {
      if (i > 1) System.out.print(", ");
      System.out.print(metaData.getColumnLabel(i));
   }
   System.out.println();

   while (result.next())
   {
      for (int i = 1; i <= columnCount; i++)
      {
         if (i > 1) System.out.print(", ");
         System.out.print(result.getString(i));
      }
      System.out.println();
   }
   result.close();
}
}
NOTE: attached only for troubleshooting purposes, all rights reserved to the
original author.
Sourced from Core Java Volume 2 (7th Edition)
ISBN 0-13-111826-9

Error: Source not found (Screenshot of error at http://bit.ly/pMS8lP).

// Compiled from Jdbc3Connection.java (version 1.4 : 48.0, super bit)
public class org.postgresql.jdbc3.Jdbc3Connection extends
org.postgresql.jdbc3.AbstractJdbc3Connection implements java.sql.Connection
{

  // Method descriptor #20
(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/util/Propertie
s;Ljava/lang/String;)V
  // Stack: 7, Locals: 7
  public Jdbc3Connection(java.lang.String host, int port, java.lang.String
user, java.lang.String database, java.util.Properties info, java.lang.String
url) throws java.sql.SQLException;
     0  aload_0 [this]
     1  aload_1 [host]
     2  iload_2 [port]
     3  aload_3 [user]
     4  aload 4 [database]
     6  aload 5 [info]
     8  aload 6 [url]
    10  invokespecial
org.postgresql.jdbc3.AbstractJdbc3Connection(java.lang.String, int,
java.lang.String, java.lang.String, java.util.Properties, java.lang.String)
[1]
    13  return
      Line numbers:
        [pc: 0, line: 24]
        [pc: 13, line: 25]
      Local variable table:
        [pc: 0, pc: 14] local: this index: 0 type:
org.postgresql.jdbc3.Jdbc3Connection
        [pc: 0, pc: 14] local: host index: 1 type: java.lang.String
        [pc: 0, pc: 14] local: port index: 2 type: int
        [pc: 0, pc: 14] local: user index: 3 type: java.lang.String
        [pc: 0, pc: 14] local: database index: 4 type: java.lang.String
        [pc: 0, pc: 14] local: info index: 5 type: java.util.Properties
        [pc: 0, pc: 14] local: url index: 6 type: java.lang.String

  // Method descriptor #38 (III)Ljava/sql/Statement;
  // Stack: 6, Locals: 5
  public java.sql.Statement createStatement(int resultSetType, int
resultSetConcurrency, int resultSetHoldability) throws
java.sql.SQLException;
     0  new org.postgresql.jdbc3.Jdbc3Statement [2]
     3  dup
     4  aload_0 [this]
     5  iload_1 [resultSetType]
     6  iload_2 [resultSetConcurrency]
     7  iload_3 [resultSetHoldability]
     8  invokespecial
org.postgresql.jdbc3.Jdbc3Statement(org.postgresql.jdbc3.Jdbc3Connection,
int, int, int) [3]
    11  astore 4 [s]
    13  aload 4 [s]
    15  aload_0 [this]
    16  invokevirtual
org.postgresql.jdbc3.Jdbc3Connection.getPrepareThreshold() : int [4]
    19  invokevirtual
org.postgresql.jdbc3.Jdbc3Statement.setPrepareThreshold(int) : void [5]
    22  aload 4 [s]
    24  areturn
      Line numbers:
        [pc: 0, line: 29]
        [pc: 13, line: 30]
        [pc: 22, line: 31]
      Local variable table:
        [pc: 0, pc: 25] local: this index: 0 type:
org.postgresql.jdbc3.Jdbc3Connection
        [pc: 0, pc: 25] local: resultSetType index: 1 type: int
        [pc: 0, pc: 25] local: resultSetConcurrency index: 2 type: int
        [pc: 0, pc: 25] local: resultSetHoldability index: 3 type: int
        [pc: 13, pc: 25] local: s index: 4 type:
org.postgresql.jdbc3.Jdbc3Statement

  // Method descriptor #45
(Ljava/lang/String;III)Ljava/sql/PreparedStatement;
  // Stack: 7, Locals: 6
  public java.sql.PreparedStatement prepareStatement(java.lang.String sql,
int resultSetType, int resultSetConcurrency, int resultSetHoldability)
throws java.sql.SQLException;
     0  new org.postgresql.jdbc3.Jdbc3PreparedStatement [6]
     3  dup
     4  aload_0 [this]
     5  aload_1 [sql]
     6  iload_2 [resultSetType]
     7  iload_3 [resultSetConcurrency]
     8  iload 4 [resultSetHoldability]
    10  invokespecial
org.postgresql.jdbc3.Jdbc3PreparedStatement(org.postgresql.jdbc3.Jdbc3Connec
tion, java.lang.String, int, int, int) [7]
    13  astore 5 [s]
    15  aload 5 [s]
    17  aload_0 [this]
    18  invokevirtual
org.postgresql.jdbc3.Jdbc3Connection.getPrepareThreshold() : int [4]
    21  invokevirtual
org.postgresql.jdbc3.Jdbc3PreparedStatement.setPrepareThreshold(int) : void
[8]
    24  aload 5 [s]
    26  areturn
      Line numbers:
        [pc: 0, line: 37]
        [pc: 15, line: 38]
        [pc: 24, line: 39]
      Local variable table:
        [pc: 0, pc: 27] local: this index: 0 type:
org.postgresql.jdbc3.Jdbc3Connection
        [pc: 0, pc: 27] local: sql index: 1 type: java.lang.String
        [pc: 0, pc: 27] local: resultSetType index: 2 type: int
        [pc: 0, pc: 27] local: resultSetConcurrency index: 3 type: int
        [pc: 0, pc: 27] local: resultSetHoldability index: 4 type: int
        [pc: 15, pc: 27] local: s index: 5 type:
org.postgresql.jdbc3.Jdbc3PreparedStatement

  // Method descriptor #49
(Ljava/lang/String;III)Ljava/sql/CallableStatement;
  // Stack: 7, Locals: 6
  public java.sql.CallableStatement prepareCall(java.lang.String sql, int
resultSetType, int resultSetConcurrency, int resultSetHoldability) throws
java.sql.SQLException;
     0  new org.postgresql.jdbc3.Jdbc3CallableStatement [9]
     3  dup
     4  aload_0 [this]
     5  aload_1 [sql]
     6  iload_2 [resultSetType]
     7  iload_3 [resultSetConcurrency]
     8  iload 4 [resultSetHoldability]
    10  invokespecial
org.postgresql.jdbc3.Jdbc3CallableStatement(org.postgresql.jdbc3.Jdbc3Connec
tion, java.lang.String, int, int, int) [10]
    13  astore 5 [s]
    15  aload 5 [s]
    17  aload_0 [this]
    18  invokevirtual
org.postgresql.jdbc3.Jdbc3Connection.getPrepareThreshold() : int [4]
    21  invokevirtual
org.postgresql.jdbc3.Jdbc3CallableStatement.setPrepareThreshold(int) : void
[11]
    24  aload 5 [s]
    26  areturn
      Line numbers:
        [pc: 0, line: 44]
        [pc: 15, line: 45]
        [pc: 24, line: 46]
      Local variable table:
        [pc: 0, pc: 27] local: this index: 0 type:
org.postgresql.jdbc3.Jdbc3Connection
        [pc: 0, pc: 27] local: sql index: 1 type: java.lang.String
        [pc: 0, pc: 27] local: resultSetType index: 2 type: int
        [pc: 0, pc: 27] local: resultSetConcurrency index: 3 type: int
        [pc: 0, pc: 27] local: resultSetHoldability index: 4 type: int
        [pc: 15, pc: 27] local: s index: 5 type:
org.postgresql.jdbc3.Jdbc3CallableStatement

  // Method descriptor #52 ()Ljava/sql/DatabaseMetaData;
  // Stack: 4, Locals: 1
  public java.sql.DatabaseMetaData getMetaData() throws
java.sql.SQLException;
     0  aload_0 [this]
     1  getfield org.postgresql.jdbc3.Jdbc3Connection.metadata :
java.sql.DatabaseMetaData [12]
     4  ifnonnull 19
     7  aload_0 [this]
     8  new org.postgresql.jdbc3.Jdbc3DatabaseMetaData [13]
    11  dup
    12  aload_0 [this]
    13  invokespecial
org.postgresql.jdbc3.Jdbc3DatabaseMetaData(org.postgresql.jdbc3.Jdbc3Connect
ion) [14]
    16  putfield org.postgresql.jdbc3.Jdbc3Connection.metadata :
java.sql.DatabaseMetaData [12]
    19  aload_0 [this]
    20  getfield org.postgresql.jdbc3.Jdbc3Connection.metadata :
java.sql.DatabaseMetaData [12]
    23  areturn
      Line numbers:
        [pc: 0, line: 51]
        [pc: 7, line: 52]
        [pc: 19, line: 53]
      Local variable table:
        [pc: 0, pc: 24] local: this index: 0 type:
org.postgresql.jdbc3.Jdbc3Connection

  // Method descriptor #54 (Ljava/util/Map;)V
  // Stack: 2, Locals: 2
  public void setTypeMap(java.util.Map map) throws java.sql.SQLException;
    0  aload_0 [this]
    1  aload_1 [map]
    2  invokevirtual
org.postgresql.jdbc3.Jdbc3Connection.setTypeMapImpl(java.util.Map) : void
[15]
    5  return
      Line numbers:
        [pc: 0, line: 58]
        [pc: 5, line: 59]
      Local variable table:
        [pc: 0, pc: 6] local: this index: 0 type:
org.postgresql.jdbc3.Jdbc3Connection
        [pc: 0, pc: 6] local: map index: 1 type: java.util.Map
}

В списке pgsql-bugs по дате отправления:

Предыдущее
От: "Jon C."
Дата:
Сообщение: BUG #6105: Failed to load Main-Class manifest attribute
Следующее
От: Craig Ringer
Дата:
Сообщение: Re: BUG #6106: JAR File has no source attachment