导入java类

时间:2010-08-15 15:38:35

标签: java

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

我的程序找不到要导入的.jar文件。我确保我的classpath指向包含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中将classpath设置为环境变量。我的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 / *”工作。

2 个答案:

答案 0 :(得分:2)

您是在使用任何IDE还是在命令行编译程序?在任何情况下,将类路径设置为包含JAR文件的目录都不起作用。您必须确保您的类路径分别列出所有JAR文件。 E.g。

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?

答案 1 :(得分:0)

如果您确定已正确包含了jar文件,请尝试清理并构建应用程序并将其部署回来。我有类似的经历,其中一切似乎都很正常,但我没有清理并再次构建应用程序。

为我工作,但我不确定。