java - 导入java类

标签 java

我正在尝试使用 google voice 的 java api(可在此处获取: http://code.google.com/p/google-voice-java/ )、google-voice-java-1.6.jar 和 json.jar

我的程序找不到要导入的 .jar 文件。我已确保我的类路径指向包含 jar 文件的目录。

我下面的代码不使用任何 GV 类,我只是尝试导入它们。我究竟做错了什么?标准 java 类导入良好。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;

import gvjava.org.json.JSONException;
import gvjava.org.json.JSONObject;

import com.techventus.server.voice.Voice;
import com.techventus.server.voice.datatypes.AllSettings;
import com.techventus.server.voice.datatypes.DisabledForwardingId;
import com.techventus.server.voice.datatypes.Group;
import com.techventus.server.voice.datatypes.Phone;
import com.techventus.server.voice.datatypes.Greeting;
import com.techventus.server.voice.exception.CaptchaRequiredException;
import com.techventus.server.voice.util.ParsingUtil;

@SuppressWarnings("deprecation")


class hello {

static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static String pass = null;

public static void main(String args[])

  {
System.out.println("Enter Your name:");   

{

try {
          pass = br.readLine(); }

    catch (IOException ioe) {
      System.out.println("IO error trying to read input!");
      System.exit(1); }


     System.out.println(pass);

  } 
 } 
}

我在 debian sid 下使用 java 6。我也在命令行工作。我将类路径设置为 .bashrc 中的环境变量。我的 jar 位于目录 ~/java/classes 中。我的源代码在 ~/java

java $ javac -cp ./classes/* hello.java 
javac: invalid flag: ./classes/json.jar
Usage: javac <options> <source files>

如果我注释掉 json.jar 中的两个导入,代码运行正常,所以感谢所有的类路径提示。

使用 -cp "./classes/*"修复有效。

最佳答案

您是否使用任何 IDE 或在命令行编译程序?无论如何,将类路径设置为包含 JAR 文件的目录是行不通的。您必须确保您的类路径单独列出所有 JAR 文件。例如

java -cp your/dir/of/jars pkg.Main // won't work in Java 5 and below

java -cp your/dir/of/jars/first.jar;your/dir/of/jars/second.jar pkg.Main // works

如果您使用的是 Java 6,则可以使用类路径通配符来解决该问题。

java -cp your/dir/of/jars/* pkg.Main // works in Java 6

相关主题:How to use a wildcard in the classpath to add multiple jars?

关于java - 导入java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3488045/

相关文章:

java - 我可以在 JAVA 中的非赋值情况下使用条件运算符吗?

java - iterator.remove() 在 Java 中的所有情况下是否都可靠?

Java 列表最佳实践

java - Spring Boot HATEOAS 休息服务中的 LocalDateTime 序列化

java - 为什么我们不能在java中通过charAt(index)在特定位置添加字符

java - 在 Swing 应用程序中应该从哪个线程调用 System.exit()?

java - Hibernate 中不必要的查询 - MySql

java - 即使在调用connection.close()之后,连接仍处于已建立状态

java - 为什么扫描仪不提示我输入?

java - 使用 Java 查找范围内所有可用的无线网络