java - 如何修复此 "package does not exist"错误?

标签 java

在 OS X 上。

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02-279-10M3065)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01-279, mixed mode)

这是我的整个项目:

$ ll
total 1072
-rw-r--r--  1 ethan  ethan    1316 Oct 19 17:17 BlackberryDataExtractor.class
-rw-r--r--  1 ethan  ethan    1439 Oct 19 18:05 BlackberryDataExtractor.java
-rw-r--r--@ 1 ethan  ethan  537303 Apr 19  2010 sqljdbc4.jar
                                                    <-- MS SQL Server JDBC driver

这是 BlackberryDataExtractor.java。它还没有真正做任何事情。我只是想让基本的东西像数据库连接一样工作:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.microsoft.sqlserver.jdbc;

class BlackberryDataExtractor {

  public static void main(String[] args) {
    Connection con = BlackberryDataExtractor.getConnection();
  }

  public static final Connection getConnection()
  {
    Connection con = null;
    try
    {
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
      con = DriverManager.getConnection("jdbc:sqlserver://[ etc... ]");
      String SQL = "SELECT uc.MailboxSMTPAddr AS email, sd.PhoneNumber AS phone_number"
        + "FROM dbo.UserConfig uc, dbo.SyncDeviceMgmtSummary sd"
        + "WHERE sd.UserConfigId = uc.Id";
      Statement stmt = con.createStatement();
      ResultSet rs = stmt.executeQuery(SQL);

      while (rs.next()) {
        System.out.println(rs.getString("email") + ", " + rs.getString("phone_number"));
      }
      rs.close();
      stmt.close();

    }
    catch(SQLException e)
    {
      e.printStackTrace();
    }
    catch(ClassNotFoundException e)
    {
      e.printStackTrace();
    }
    return con;
  }
}

它不会编译。错误如下:

$ javac -cp "$CLASSPATH;*.jar" BlackberryDataExtractor.java
BlackberryDataExtractor.java:4: package com.microsoft.sqlserver does not exist
import com.microsoft.sqlserver.jdbc;
                              ^
BlackberryDataExtractor.java:23: cannot find symbol
symbol  : class Statement
location: class BlackberryDataExtractor
      Statement stmt = con.createStatement();
      ^
BlackberryDataExtractor.java:24: cannot find symbol
symbol  : class ResultSet
location: class BlackberryDataExtractor
      ResultSet rs = stmt.executeQuery(SQL);
      ^
3 errors

最佳答案

javac 无法识别 *.jar 等通配符。你必须明确。

尝试 javac -cp "$CLASSPATH;sqljdbc4.jar"...

关于java - 如何修复此 "package does not exist"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3974114/

相关文章:

java - Sesame中BNode的解决方案

java - JPA实体生命周期方法

java - 使用 play 框架的 elasticsearch 问题

java - 将Mysql数据检索到Netbeans中的JTable

c# - 这里使用什么,抽象类还是接口(interface)?

java - 如何在Java中基于线程停止 Action 事件

java - 我想从 if else 语句中获得更多信息

java - 可以将数据发送到网页的简单 Java 表单吗?

java - 用C风格的Java解析?

java - Java Applet 的内存消耗