【问题标题】:java.lang.IllegalArgumentException in Red Hat serverRed Hat 服务器中的 java.lang.IllegalArgumentException
【发布时间】:2016-07-08 21:06:44
【问题描述】:

我使用 NetBeans (IDE) 和 GlassFish 4.1.0(Web 服务器)开发了一个 JavaEE 7.0 Web 应用程序。

当我将应用程序部署在本地主机上时,它的工作就像一个魅力。现在,我想将它部署在使用 GlassFish 4.1.0 的 Red Hat Enterprise Edition Linux Server 5.11 上。

因此,我在我的 Red Hat 服务器上安装了 GlassFish,并按照以下步骤操作:

  1. 打开 GlassFish 管理控制台并转到“应用程序”节点:
  2. 单击“部署”按钮并选择我要部署的应用程序的war文件(存储在Red Hat服务器中):
  3. 单击“选择文件”。出现以下窗口:
  4. 我的应用程序需要一些 JAR 文件才能正常工作。它们都保存在以下文件夹中:
  5. 然后我在 GlassFish 管理控制台的“库”条目中插入了所有路径:
  6. 部署应用程序并重新启动 NetBeans 服务器

但是,每次我运行我的网络应用程序时,我都会收到以下错误:

[2016-07-08T21:20:15.226+0200] [glassfish 4.1] [SEVERE] [NCLS-CORE-00026] [javax.enterprise.system.core] [tid: _ThreadID=22 _ThreadName=RunLevelControllerThread-1468005611695] [timeMillis: 1468005615226] [levelValue: 1000] [[

  Exception during lifecycle processing

java.lang.IllegalArgumentException: Specified library jar android-7.jar does not exist: /opt/glassfish4/glassfish/domains/domain1/lib/android-7.jar

    at org.glassfish.deployment.common.DeploymentContextImpl.getAppLibs(DeploymentContextImpl.java:458)

    at org.glassfish.deployment.common.DeploymentContextImpl.createClassLoader(DeploymentContextImpl.java:244)

    at org.glassfish.deployment.common.DeploymentContextImpl.createDeploymentClassLoader(DeploymentContextImpl.java:229)

    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:365)

    at com.sun.enterprise.v3.server.ApplicationLoaderService.processApplication(ApplicationLoaderService.java:406)

    at com.sun.enterprise.v3.server.ApplicationLoaderService.postConstruct(ApplicationLoaderService.java:243)

    at org.jvnet.hk2.internal.ClazzCreator.postConstructMe(ClazzCreator.java:329)

    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:377)

    at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:461)

    at org.glassfish.hk2.runlevel.internal.AsyncRunLevelContext.findOrCreate(AsyncRunLevelContext.java:227)

    at org.glassfish.hk2.runlevel.RunLevelContext.findOrCreate(RunLevelContext.java:84)

    at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2258)

    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:105)

    at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:87)

    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.oneJob(CurrentTaskFuture.java:1162)

    at org.glassfish.hk2.runlevel.internal.CurrentTaskFuture$QueueRunner.run(CurrentTaskFuture.java:1147)

    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

    at java.lang.Thread.run(Thread.java:745)

]]

我真的不明白这是怎么回事,请你帮帮我吗?

【问题讨论】:

    标签: java netbeans glassfish redhat


    【解决方案1】:

    然后我在“库”条目中插入了所有路径 GlassFish 管理控制台:

    你不需要这样做,我猜这是导致问题的原因。

    Glassfish 正在自动搜索 lib 文件夹中的库,如果这不起作用,您也可以尝试 /opt/glassfish4/glassfish/lib 中的服务器全局库文件夹

    如果仍然无法正常工作,则可能是访问权限有问题,但在您的屏幕截图上看起来还不错(世界可读)。

    【讨论】:

    • 嗨 unwichtich,事实上它就像一个魅力。非常感谢您的帮助。我很感激。
    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 2011-07-18
    • 2015-03-11
    • 2017-07-03
    • 1970-01-01
    • 2021-10-20
    • 2011-06-02
    • 1970-01-01
    相关资源
    最近更新 更多