gpt4 book ai didi

java-ee-6 - 如何使用 Java EE 6/Glassfish 3.x 部署库

转载 作者:行者123 更新时间:2023-12-04 06:37:12 25 4
gpt4 key购买 nike

我有一个带有两个普通库的 EAR。其中之一是scala-library。如果我使用 Netbeans 部署 EAR,它会按预期工作。虽然这对于开发来说是可以的,但最终产品应该可以通过命令行进行部署。为此,我使用:

asadmin --user … deploy --upload ./target/…-ear.ear

失败了:
org.glassfish.api.admin.CommandException: remote failure: Error occurred during deployment: Exception while deploying the app […-ear] : C:\Work\Workspa
ces\…\Glassfish\…\applications\scala-library-2.8.0.jar. Please see server.log for more details.
Befehl deploy fehlgeschlagen.

在网上搜索我发现 Java EE 6/Glassfish 3.x 处理库变得更加严格,将它们添加到 lib 中是不够的。夹在耳朵里面了。只是作者忽略了现在需要什么。

我发现了新 <module><java> META-INF\application.xml 的条目——但这也无济于事:
  <module>
<java>scala-library-2.8.0.jar</java>
</module>

所以问题是:有人知道您需要做什么才能将库添加到 Java EE 6/Glassfish 3.x 的 EAR 文件中吗?

PS:我使用 Maven 来构建 - 如果这有什么不同的话。

最佳答案

好吧,看来我自己(再次)找到了解决方案。添加了library-directory之后进入 结束 META-INF\application.xml部署运行你:

  <library-directory>lib</library-directory>
</application>

奇怪的是, lib library-directory 的默认值.所以我想这一定是 Glassfish 本身没有正确处理默认值的错误。如果您使用 Maven,请确保使用 bundleDir在您的 pom.xml以便将库放在正确的位置:
        <jarModule>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<bundleDir>lib</bundleDir>
</jarModule>

关于java-ee-6 - 如何使用 Java EE 6/Glassfish 3.x 部署库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4721793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com