Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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
Java 在weblogic上登录web服务_Java_Web Services_Logging_Log4j_Weblogic - Fatal编程技术网

Java 在weblogic上登录web服务

Java 在weblogic上登录web服务,java,web-services,logging,log4j,weblogic,Java,Web Services,Logging,Log4j,Weblogic,我一直在尝试在Weblogic服务器上部署JAX-WS服务,如本文所示。 我部署了它,发现它工作得非常好 现在,我还想在调用此服务时将数据写入日志文件。为此,我使用log4j。这就是我试图修改链接中的代码的方式 package examples.webservices.hello_world; import javax.jws.WebService; import org.apache.log4j.Logger; @WebService(name="HelloWorldPortType",

我一直在尝试在Weblogic服务器上部署JAX-WS服务,如本文所示。 我部署了它,发现它工作得非常好

现在,我还想在调用此服务时将数据写入日志文件。为此,我使用log4j。这就是我试图修改链接中的代码的方式

package examples.webservices.hello_world;

import javax.jws.WebService;
import org.apache.log4j.Logger; 

@WebService(name="HelloWorldPortType", serviceName="HelloWorldService")
public class HelloWorldImpl {

    public static Logger log = Logger.getLogger(HelloWorldImpl.class);

    public String sayHelloWorld(String message) {
    try {
        log.info("Start");
        System.out.println("sayHelloWorld:" + message);
    } catch (Exception ex) { ex.printStackTrace(); }
        return "Here is the message: '" + message + "'";
    }
}
我已经在
CLASSPATH
变量中设置了
log4j-1.2.8.jar
文件的路径。 但是当我尝试构建web服务时,它会错误地说,
java.lang.ClassNotFoundException:org.apache.log4j.Logger


我使用的是链接中给出的相同的
build.xml
文件。
build.xml
文件中是否需要任何修改?我应该将log4j.properties文件放在哪里?非常感谢您的帮助。

即使设置了类路径,这个问题也必须解决,因为weblogic在运行时无法找到log4j。更具体地说,war的类加载器无法找到log4j

以下是故障排除的方法:

  • 如果您在WAR中实际绑定了
    log4j
    ,请检查build.xml
  • 转到autodeploy目录,将war文件复制到其他位置,将其解压缩并检查
    WEB-INF/lib
    是否确实存在log4j
  • 检查类路径中是否有多个log4j版本
  • 最后,在weblogic中部署一组可重用JAR的首选方法是使用,并通过
    weblogic.xml
    引用它

    它有助于:

    • 避免在不同的战争中重复绑定jar文件
    • 确保将所有部署优化为首选版本 图书馆的图书馆

    当前放置log4j jar和属性文件的位置?请参阅此处的说明。您需要将log4j添加到build.xml的jwsc部分,以使其正确编译。您是将log4j-1.2.8.jar添加到WebLogic类路径还是仅添加到项目类路径?@MaksimKolesnikov,我添加到WebLogic类路径
    export CLASSPATH=$CLASSPATH:/home/oracle/directories/log4j-1.2.8.jar
    谢谢您的回答。我是新来的。我试试你的建议。