不带*.jar的服务部署为:
类名:HelloService.class
它的存放地方:webapps\axis\WEB-INF\classes\
public class HelloService
{
public String sayHello(String username)
{
return "Hello:"+username;
}
}
在server-config.wsdd文件里面写入:
它的存放地方:webapps\axis\WEB-INF
 ...
 <service name="HelloService" provider="java:RPC">
 <parameter name="className" value="HelloService"/>
 <parameter name="allowedMethods" value="*"/>
 </service>
 ...问题:当类HelloService需要有*.jar包来支持时,这样做就会报错:说无法找到*.jar包。请问题这种情况如何部署?

解决方案 »

  1.   

    搞定:
    代码中带*.jar 包,则把用到的所有*.jar包放到对就的“WEB-INF\lib”目录中去。如果代码中带有自己写的工程中的包的话,则把对应这个包所在的整个目录copy到“WEB-INF\classes” 相当于把工程中的包当成一个类处理。如果服务处于一个包中,比如:
    package myexcel;import jxl.*;
    import jxl.format.UnderlineStyle;
    import jxl.write.*;
    import jxl.write.Number;
    import jxl.write.Boolean;
    import java.io.*;
    import java.util.*;
    import myBean.*;
    import java.io.File;
    import org.apache.log4j.Level;
    import org.apache.log4j.Logger;
    import org.apache.log4j.PatternLayout;
    import org.apache.log4j.RollingFileAppender;
    import org.apache.log4j.*;
    public class MyExcel {
    /**
         * 读取Excel
         * @param filePath
         */
    static final Logger logger = (Logger) Logger.getLogger(MyExcel.class);

        public ArrayList readExcel(String filePath)
        {
         ArrayList _myExA=new ArrayList();
        ...那么就只能把这个包(也就是这个myexcel包所对应工程中的整个目录:myexcel)copy到“WEB-INF\classes”目录下面。在server-config.wsdd中应该这样写:
     <service name="MyExcel" provider="java:RPC">  
      <parameter name="className" value="myexcel.MyExcel"/>
      <parameter name="allowedMethods" value="*"/>
     </service>或者反过来做,把axis的*.jar包放到工程对应的“WEB-INF\lib”目录下面。效果是一样的。