使用javac命令编译java文件。

    今天想学习一下web services的知识,在网上找了一个教程,里面写了一个web services客户端调用,在cmd下执行的,但是没有给出用javac编译的细节。所以自己就借着这个机会学了一下:具体代码如下:

package client;

import javax.xml.namespace.QName;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
import org.apache.axis2.rpc.client.RPCServiceClient;

public class RPCClient
{
    public static void main(String[] args) throws Exception
    {
        //  使用RPC方式调用WebService
        RPCServiceClient serviceClient = new RPCServiceClient();
        Options options = serviceClient.getOptions();
        //  指定调用WebService的URL
        EndpointReference targetEPR = new EndpointReference(
                "http://localhost:8080/axis2/services/SimpleService");
        options.setTo(targetEPR);
        //  指定getGreeting方法的参数值
        Object[] opAddEntryArgs = new Object[] {"超人"};
        //  指定getGreeting方法返回值的数据类型的Class对象
        Class[] classes = new Class[] {String.class};
        //  指定要调用的getGreeting方法及WSDL文件的命名空间
        QName opAddEntry = new QName("http://ws.apache.org/axis2", "getGreeting");
        //  调用getGreeting方法并输出该方法的返回值
        System.out.println(serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0]);
        //  下面是调用getPrice方法的代码,这些代码与调用getGreeting方法的代码类似
        classes = new Class[] {int.class};
        opAddEntry = new QName("http://ws.apache.org/axis2", "getPrice");
        System.out.println(serviceClient.invokeBlocking(opAddEntry, new Object[]{}, classes)[0]);
    }
}

  里面用到了axis2的jar包,通过eclipse定位源代码的方式,知道需要引入的jar包,其实命令很简单:

cmd>workspace\Axis2Study\src>javac -d D:\\ -cp D:\OpenSource\a
xis2-1.6.2\lib\axis2-adb-1.6.2.jar;D:\OpenSource\axis2-1.6.2\lib\axis2-kernel-1.
6.2.jar cn\com\unionman\webservices\client\RPCClient.java

这样就可以了,通过-d指定编译的class文件的输出路径,它会带有包路径的,-cp就是指定要加载的jar包。

另外我发现java环境变量里面的classpath不是必须配置的。

posted @ 2014-01-14 16:58  BlueIceQ  阅读(1423)  评论(0编辑  收藏  举报