使用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>workspaceAxis2Studysrc>javac -d D:\ -cp D:OpenSourcea
xis2-1.6.2libaxis2-adb-1.6.2.jar;D:OpenSourceaxis2-1.6.2libaxis2-kernel-1.
6.2.jar cncomunionmanwebservicesclientRPCClient.java

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

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

原文地址:https://www.cnblogs.com/whatisjava/p/3519367.html