收到编译错误:包com.twilio.sdk不存在(Getting compile error: p

2019-10-19 07:24发布

新蜂在Java这里。 我是一个Ubuntu 12.04的机器上。

我用java使得从uiautomator测试用例语音电话和在之后提供的说明尝试Twilio API https://www.twilio.com/docs/java/install 。 我下载了两个twilio-java-sdk-3.4.2-with-dependencies.jartwilio-java-sdk-3.4.2.jar从http://search.maven.org/#browse|1260284827 (预建) 。

我使用在uiautomator Java项目Twilio API。 我可以不执行Twilio API代码来构建和运行uiautomator Java项目。 但是,如果我尝试使用Twilio API库,我得到它无法找到包编译时错误。

步骤我做:

1->打开Eclipse的Java项目

2->添加Twilio Java库twilio-java-sdk-3.4.2-with-dependencies.jar OR twilio-java-sdk-3.4.2.jar经由BuildPath->Configure Build Path->Add External JARs

我有以下的代码行测试,如果我可以让TwilioRestClient对象。 我与其他uiautomator测试功能,他们没有这段代码正常工作。 考虑除了其他的测试方法下面的方法。

test.java

//Assume all other required libraries are imported
import com.twilio.sdk.TwilioRestClient;

public class testClient extends UiAutomatorTestCase {   

    public void testMethodGetClient(){
        try{
            TwilioRestClient client = new TwilioRestClient("ACCOUNT_SID", "AUTH_TOKEN");
            log.info("client: " + client.getAccountSid());
        }catch(Exception e){
            log.info(e.toString());
        }
    }
}

我没有在之前我的代码得到任何引用错误comiple/build命令。 要相信,如果我做client. ,日食显示我的所有可用的方法, client对象。 所以,我这里假设我导入成功? 然后我去了终端并执行下面的命令来创建build.xml文件:

Ubuntu的终端

$> android create uitest-project -n JARNAME -t 1 -p <PATH-TO-PROJECT>
$> ant clean build
Buildfile: <PATH-TO-PROJECT>/build.xml

-check-env:
 [checkenv] Android SDK Tools Revision 22.3.0
 [checkenv] Installed at <ANDROID-SDK-PATH>

-pre-clean:

clean:
   [delete] Deleting directory <PATH-TO-PROJECT>/bin

-check-env:
 [checkenv] Android SDK Tools Revision 22.3.0
 [checkenv] Installed at <ANDROID-SDK-PATH>

-build-setup:
[getbuildtools] Using latest Build Tools: 19.0.0
     [echo] Resolving Build Target for <PACKAGE-NAME>...
[getuitarget] Project Target:   Android 4.2.2
[getuitarget] API level:        17
     [echo] ----------
     [echo] Creating output directories if needed...
    [mkdir] Created dir: <PATH-TO-PROJECT>/bin
    [mkdir] Created dir: /<PATH-TO-PROJECT>/bin/classes

-pre-compile:

compile:
    [javac] Compiling 33 source files to <PATH-TO-PROJECT>/bin/classes
    [javac] <PATH-TO-PROJECT>/test.java:15: package com.twilio.sdk does not exist
    [javac] import com.twilio.sdk.TwilioRestClient;
    [javac]                      ^
[javac] <PATH-TO-PROJECT>/test.java:42: cannot find symbol
[javac] symbol  : class TwilioRestClient
[javac] location: class <packagename>.Telephony
[javac]             TwilioRestClient client = new TwilioRestClient("ACCOUNT_SID", "AUTH_TOKEN");
[javac]             ^
[javac] <PATH-TO-PROJECT>/test.java:42: cannot find symbol
[javac] symbol  : class TwilioRestClient
[javac] location: class <packagename>.Telephony
[javac]             TwilioRestClient client = new TwilioRestClient("ACCOUNT_SID", "AUTH_TOKEN");
[javac]                                           ^
    [javac] 3 errors

BUILD FAILED
<ANDROID-SDK-PATH>/tools/ant/uibuild.xml:183: Compile failed; see the compiler error output for details.

Total time: 1 second

上面的命令将创建的.jar,如果我没有足够的testMethodGetClient方法。 所以,我serached的快速举报通道的package not found错误,但他们大多通过提示“添加外部JAR”添加库一方或“提供的类路径”。 我都尝试,我得到了同样的错误。 所以,我来到这里,并张贴它作为一个新的问题。

任何帮助是极大的赞赏。

问候,Rumit

Answer 1:

第三方jar文件的默认位置通常是该libs的项目,即基础文件夹<PATH-TO-PROJECT>



Answer 2:

bgossit的回答也帮我去正确的方向。 然而,那还是不够的。 所以,我的自我解释一点点额外的步骤,我不得不这样做回答我的问题。

我的第一个瓶颈得到解决,那就是成功编译该项目。 不过,我仍然无法在Android设备上运行该项目。 我标志着此评论作为一个答案的问题是为complie错误。 我puting的运行时错误的新问题。

我发现uiautomator的“ android create project ”命令创建一个“ build.xml ”,这在内部调用“ <ANDROID_SDK>/sdk/tools/ant/uibuild.xml ”建设项目,并创建最终的罐子。 默认情况下,“ compile在这个“目标uibuild.xml ”没有一个“ classpath ” inlcuded的罐子。 这似乎是与Android的bug上其他几个StackOverflow的问题/答案提到。

解决方案,为我工作:

  1. 创建“ libs在同一水平作为你的“目录src ”目录,并把你的外部罐子到“ libs ”目录。 注意:这仅仅是一个很好的做法。 理想情况下,你可以给任何名称为“库”的目录,并把它无论你想。

  2. “添加classpath ”属性的“ compile在”目标<ANDROID_SDK>/sdk/tools/ant/uibuild.xml

 <classpath> <fileset dir="${jar.libs.dir}" includes="*.jar" /> <!-- path to 'libs' --> </classpath> 

请注意:虽然,上述解决方案工作于编译和构建我的项目,我仍然无法在Android设备的Android设备不会有Twilio API罐子上运行它。 我找建立与Twilio JAR /类项目最终罐子的方式。 抛出java.lang.ClassNotFoundException的包com.twilio.sdk

问候,

复杂



文章来源: Getting compile error: package com.twilio.sdk does not exist