这就是我想要达到的目标:
这个包需要部署在JBoss WildFly 8.2.1上
我使用的是Maven的ear插件(maven-ear-plugin,版本2.10.1)。我在pom中的配置如下所示(这是“parent'-project,它组合了另外三个项目):
<configuration>
<finalName>All</finalName>
<defaultLibBundleDir>APP-INF/lib</defaultLibBundleDir>
<includeLibInApplicationXml>true</includeLibInApplicationXml>
<version>6</version>
<displayName>All</displayName>
<modules>
<jarModule>
<groupId>project</groupId>
<artifactId>C</artifactId>
<bundleFileName>C.jar</bundleFileName>
<uri>APP-INF/lib/C.jar</uri>
<bundleDir>APP-INF/lib</bundleDir>
</jarModule>
<webModule>
<groupId>project</groupId>
<artifactId>A</artifactId>
<uri>A.war</uri>
<bundleFileName>A.war</bundleFileName>
<contextRoot>/a</contextRoot>
<bundleDir>/</bundleDir>
</webModule>
<webModule>
<groupId>project</groupId>
<artifactId>B</artifactId>
<uri>B.war</uri>
<bundleFileName>B.war</bundleFileName>
<contextRoot>/b</contextRoot>
<bundleDir>/</bundleDir>
</webModule>
</modules>
<archive>
<manifestEntries>
<Implementation-Version>1.0</Implementation-Version>
</manifestEntries>
</archive>
</configuration>
我的meta.inf/application.xml文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="6"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application_6.xsd">
<display-name>All</display-name>
<initialize-in-order>true</initialize-in-order>
<module>
<java>APP-INF/lib/C.jar</java>
</module>
<module>
<web>
<web-uri>B.war</web-uri>
<context-root>b</context-root>
</web>
</module>
<module>
<web>
<web-uri>A.war</web-uri>
<context-root>a</context-root>
</web>
</module>
<library-directory>APP-INF/lib</library-directory>
</application>
耳包制成。所有第三方jar都在app-inf/lib下,但是c.jar在根目录下。
当我试图将包上传到JBoss时,我已经搞砸了很多,并得到了不同的错误:
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS016703: Module may not be a child of the EAR's library directory. Library directory: APP-INF/lib, module file name: APP-INF/lib/[SomeThirthPartyLib].jar"
我错过了什么?(特定清单配置?A、B或C的特定pom.xml设置?JBoss设置?...?)
错误“wflyee0097:Module可能不是EAR的库目录的子目录”的解决方案:该错误是由于application.xml中的标记app-inf/lib。如果库JAR位于ear/lib内,那么application.xml将工作良好,因为它位于ear/app-inf/lib下,jboss或wildfly将无法理解这个(appication.xml)部署描述符。因此,即使库目录不同,也要使用wildfly理解的jboss-app.xml。解决方案:只需将application.xml的完整内容复制到jboss-app.xml中,并将其放置在META-INF文件夹中(还要确保删除application.xml文件,或者不通过pom.xml生成该文件)
我使用maven原型“org.jboss.spec.archetypes:jboss-javaee6-webapp-ear-archetype”生成代码。我启动了JBoss7,然后尝试从project root进行部署。 包装成功了。 非常感谢! 这是我打包后的项目结构(部分省略)
我在Linux环境下在JBOSS 6.3 EAP UAT中部署耳朵时遇到问题。同样的耳朵我可以在本地Windows和Linux环境中部署,没有任何错误。但是在UAT中,它会对xmlparserv2.jar.产生问题,如果我成功地删除了部署的jar应用程序。由于应用程序正在使用xmlparserv2.jar无法删除它。以下是服务器日志中捕获的错误。 我想请你帮忙,谢谢。
我在jboss EAP6.4服务器上部署ear文件时遇到问题。下面是原木。请帮帮忙。 13:21:39,000信息[org.jboss.as.server.deployment.scanner](deploymentscanner-threads-2)JBAS015003:在部署目录中找到process-engine.ear。要触发部署,请创建一个名为process-engine.ear.dode
是否有一种方法可以只在EAR成功启动后才允许HTTP连接? 或者,是否可以用“503服务不可用”替换“404因为这里没有部署任何东西”-错误?这将更好地表达问题,并将容易处理外部······
我有使用Spring Security OAuth2作为保护的Spring Boot应用程序。当使用默认服务器测试时,该应用程序运行良好。但是,当我尝试在JBoss EAP 6.4上部署它时,该应用程序需要CSRF令牌。如何禁用JBoss的基本身份验证,以便我的应用程序不需要CSRF令牌? 编辑: 正如我在sadasidha回答的评论中所描述的,这个问题没有出现在Wildfly 8(JBoss A
我有一个应用程序,其中有以下模块ct-ejb(ejb)ct-rest(war)ct-web(war)ct-ear(ear) 我正在尝试构建一个EAR文件,并将其部署到intellij中的JBOSS应用服务器。我的申请。xml如下所示。我从ct那里得到的。ear模块- 问题是,我在将ear部署到服务器时遇到异常。它清楚地表明“未找到模块文件ct-web.war…”但ct网络。目标文件夹中存在war。