Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串arg[]导致java.lang.NoClassDefFoundError_Java - Fatal编程技术网

字符串arg[]导致java.lang.NoClassDefFoundError

字符串arg[]导致java.lang.NoClassDefFoundError,java,Java,所以我有一个脚本文件,我们正在内部使用它进行测试。我想使用该脚本在internet上进行测试,但当我给它一个url而不是ip地址时,它会抛出一个java.lang.NoClassDefFoundError 这是为什么?我能做些什么来修复它 这是脚本文件: import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.IOExce

所以我有一个脚本文件,我们正在内部使用它进行测试。我想使用该脚本在internet上进行测试,但当我给它一个url而不是ip地址时,它会抛出一个java.lang.NoClassDefFoundError

这是为什么?我能做些什么来修复它

这是脚本文件:

import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection; 

public class SOAPClient4XG
{
  public static void main(String[] paramArrayOfString)
    throws Exception
  {
    if (paramArrayOfString.length < 2) {
      System.err.println("Usage:  java SOAPClient4XG http://soapURL soapEnvelopefile.xml [SOAPAction]");


      System.err.println("SOAPAction is optional.");
      System.exit(1);
    } 

    String str1 = paramArrayOfString[0];
    String str2 = paramArrayOfString[1];

    String str3 = "";
    if (paramArrayOfString.length > 2) {
      str3 = paramArrayOfString[2];
    } 

    URL localURL = new URL(str1);
    URLConnection localURLConnection = localURL.openConnection();
    HttpURLConnection localHttpURLConnection = (HttpURLConnection)localURLConnection;


    FileInputStream localFileInputStream = new FileInputStream(str2);

    ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream();


    copy(localFileInputStream, localByteArrayOutputStream);
    localFileInputStream.close();

    byte[] arrayOfByte = localByteArrayOutputStream.toByteArray();


    localHttpURLConnection.setRequestProperty("Content-Length", String.valueOf(arrayOfByte.length));

    localHttpURLConnection.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
    localHttpURLConnection.setRequestProperty("SOAPAction", str3);
    localHttpURLConnection.setRequestMethod("POST");
    localHttpURLConnection.setDoOutput(true);
    localHttpURLConnection.setDoInput(true);


    OutputStream localOutputStream = localHttpURLConnection.getOutputStream();
    localOutputStream.write(arrayOfByte);
    localOutputStream.close();



    InputStreamReader localInputStreamReader = new InputStreamReader(localHttpURLConnection.getInputStream());

    BufferedReader localBufferedReader = new BufferedReader(localInputStreamReader);

    String str4;

    while ((str4 = localBufferedReader.readLine()) != null) {
      System.out.println(str4);
    } 
    localBufferedReader.close();
  } 


  public static void copy(InputStream paramInputStream, OutputStream paramOutputStream)
    throws IOException
  {
    synchronized ()
    {
      synchronized (paramOutputStream)
      {
        byte[] arrayOfByte = new byte['Ā'];
        for (;;) {
          int i = paramInputStream.read(arrayOfByte);
          if (i == -1) break; 
          paramOutputStream.write(arrayOfByte, 0, i);
        } 
      } 
    } 
  } 
} 
以下是堆栈跟踪:

C:\Documents and Settings\accounting\Desktop\springer_miller_docs>java -cp .SOAP
Client4XG http://foobar.gotdns.com:8080/axis2/services/HTNGListener checkinin
quiry.sms http://htng.org/1.1/Listener.Wsdl#ReceiveMessageAsync
Exception in thread "main" java.lang.NoClassDefFoundError: http://foobar/gotd
ns/com:8080/axis2/services/HTNGListener
这行代码

URL localURL = new URL(str1);
将抛出一个
java.net.MalformedURLException:no protocol:192.168.0.127
作为您给出的参数

是协议感知的,您应该给它一些类似
http://soapURL
(按照程序本身的建议)而不是普通IP地址

编辑
更改问题后不相关。

您的问题与代码无关,而是与代码的执行方式有关

命令行显示将主文件放到类路径上,然后在名为第一个URL的类中执行main

离开-cp,您应该会很好(至少从这个堆栈跟踪中)


参考:

什么是完整的异常文本?请提供完整的stacktrace。请始终提供完整的stacktrace,因为您没有告诉我们找不到哪个类…添加了stack trace,这是否足以回答和回答,或者您需要更多,我很乐意提供您需要的内容。问题是相同的,只是url而不是ip,另外.127只是为了举例说明,我知道它不起作用
URL localURL = new URL(str1);