java - Weblogic 8.1 - 最简单的耳朵 - 无法理解的错误消息

标签 java weblogic ear weblogic8.x

当只有 weblogic 8.1 服务器运行时,我必须在服务器上运行简单的定期任务,因此要求是在 weblogic 上运行该任务。

我从创建最简单的耳朵开始,它将运行一个类。我在其他项目中发现了 weblogic-application.xml 中启动类的调用:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-application 
          PUBLIC "-//BEA Systems, Inc.//DTD WebLogic Application 8.1.0//EN" 
          "http://www.bea.com/servers/wls810/dtd/weblogic-application_2_0.dtd">

<weblogic-application>
    <startup>
        <startup-class>myStartupClass</startup-class>   
        <startup-uri>my-ejb.jar</startup-uri>
    </startup>
</weblogic-application>

据我了解,java 代码必须位于单独的 EJB 项目中,因此我创建了仅包含 myStartupClass 的项目,并将其添加为 ejb 类型的 Maven 依赖项。我正在使用 maven-ear-plugin 构建耳朵:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <configuration>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
            </configuration>
        </plugin>

最后,耳朵已构建完毕,我正在部署它,但没有任何说话消息:

[Deployer:149233]An unexpected error was encountered during the deployment process.

    [Deployer:149033]preparing application finder-ear-1 on myserver
    [Deployer:149033]failed application finder-ear-1 on myserver
    [Deployer:149034]An exception occurred for task [Deployer:149026]Deploy application finder-ear-1 on myserver.: [Deployer:149233]An unexpected error was encountered during the deployment process..

我检查了日志以找到一些详细信息,但不幸的是,它们没有给我任何提示,weblogic 希望从我这里得到什么:

####<2012-02-23 13:41:00 GMT> <Warning> <DRS> <PA-STK-074> <myserver> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <BEA-002506> <The current version 2 for DataIdentifier DataIdentifierID: 1 does not match with incoming version 6 for a one-phase update.> 
####<2012-02-23 13:41:00 GMT> <Warning> <Deployer> <PA-STK-074> <myserver> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <BEA-149004> <Failures were detected while initiating Deploy task for application finder-ear-1.> 
####<2012-02-23 13:41:00 GMT> <Error> <Deployer> <PA-STK-074> <myserver> <ExecuteThread: '3' for queue: 'weblogic.kernel.System'> <<WLS Kernel>> <> <BEA-149201> <Failed to complete the deployment task with ID 4 for the application finder-ear-1.
java.lang.Throwable: 
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare()V(SlaveDeployer.java:2413)
    at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(Lweblogic/management/deploy/OamVersion;Lweblogic/management/runtime/DeploymentTaskRuntimeMBean;Z)V(SlaveDeployer.java:883)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(Lweblogic/management/deploy/OamDelta;Lweblogic/management/deploy/OamVersion;ZLjava/lang/StringBuffer;)Z(SlaveDeployer.java:591)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(Ljava/util/ArrayList;Z)V(SlaveDeployer.java:500)
    at weblogic.drs.internal.SlaveCallbackHandler$1.execute(Lweblogic/kernel/ExecuteThread;)V(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(Lweblogic/kernel/ExecuteRequest;)V(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run()V(ExecuteThread.java:183)
    at java.lang.Thread.startThreadFromVM(Ljava/lang/Thread;)V(Unknown Source)
> 

你能告诉我我做错了什么以及从哪里开始吗?我试图找到一些与我的案例类似的教程(没有 Web 应用程序,没有远程 EJB 服务,只有简单的定期任务,使用 Maven 构建),但我找不到任何匹配的内容...任何提示将不胜感激。

最佳答案

我认为由于启动类的目的是在部署某个 EAR 之前执行,因此您需要将该类放在 EAR 文件之外。因此,您可以尝试将所有内容保留在 weblogic-application.xml 文件中,但将启动类打包到部署在 Weblogic 类路径目录 (%WL_HOME%\server\lib) 中的标准 jar 文件中

关于java - Weblogic 8.1 - 最简单的耳朵 - 无法理解的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9414577/

相关文章:

java - 为什么 FileWriter 不创建新文件? FileNotFoundException异常

java - 给定输入得到错误的输出

java - com.bea.wli.config.deployment.server.ServerDeploymentConflictException:由于与正在进行的其他工作发生冲突,无法激活 session

java - 构造函数注入(inject)不适用于 @Statless bean 中的限定符

eclipse - 由于错误,无法从 Web 服务生成 WSDL

jakarta-ee - EAR包结构

与 war 路径的 Maven 瘦 war

java - 如何将 rx.Observable<java.util.list<T>> 更改为 java.util.list<T>

java - For 循环显示前一个值和下一个值

tomcat - 开源 war 和 ear 文件用于测试