小编dro*_*.ah的帖子

在JBoss 7上忽略了MANFEST.MF中的依赖关系

我们有一个EJB模块,我们正在部署到JBoss 7.1.1,它依赖于Infinispan和Infinispan Treecache.

我创建了一个模块并将其部署在jboss的模块部分中.

但是,正确拾取它似乎存在问题.这是作为Arquillian测试运行的.部署是:

@Deployment
public static Archive<?> createDeployment() {
    Archive<?> archive = ShrinkWrap.create(JavaArchive.class)
            .addPackages(true, "<package>")
            .addAsManifestResource("META-INF/MANIFEST.MF", "MANIFEST.MF")
            .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
}
Run Code Online (Sandbox Code Playgroud)

MANIFEST.MF如下

Manifest-Version: 1.0
Dependencies: org.infinispan.infinispan-tree, org.infinispan
Run Code Online (Sandbox Code Playgroud)

infinispan-tree是手动添加到jboss的模块.

为了测试它不是模块配置,这两个模块在standalone.xml中是全局的,并且看起来一切正常.

甚至只将org.infinispan(包含在JBoss 7.x中)更改为非全局并尝试从MANIFEST.MF引用它不起作用.

缺什么?

jboss-arquillian jboss7.x jboss-modules

9
推荐指数
1
解决办法
537
查看次数

无法通过jboss-web.xml设置安全域

我们有一个应用程序正在部署为耳朵.在这个耳朵里,有一场需要使用特定安全域的战争.

为此,我们使用以下安全性部分配置了standalone-full-ha.xml

<security-domain name="ourDomain" cache-type="default">
    <authentication>
        <login-module code="blah.blah.OurDomain" flag="required" />
    </authentication>
</security-domain>
Run Code Online (Sandbox Code Playgroud)

ear/war/WEB-INF/jboss-web.xml配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
   <security-domain>Quark</security-domain>
   <disable-audit>true</disable-audit>
</jboss-web>
Run Code Online (Sandbox Code Playgroud)

使用此配置,应用程序会尝试对JBoss中默认存在的"其他"域进行身份验证.

日志条目如下:

TRACE [org.jboss.security] (http-/127.0.0.1:8080-6) PBOX000224: End getAppConfigurationEntry(other), AuthInfo: AppConfigurationEntry[]:
[0]
LoginModule Class: org.jboss.as.security.remoting.RemotingLoginModule
ControlFlag: LoginModuleControlFlag: optional
Options:
name=password-stacking, value=useFirstPass
[1]
LoginModule Class: org.jboss.as.security.RealmDirectLoginModule
ControlFlag: LoginModuleControlFlag: required
Options:
name=password-stacking, value=useFirstPass
Run Code Online (Sandbox Code Playgroud)

当试图将其定义为耳朵/ META-INF/jboss-app.xml中的耳朵的一部分时,这使整个事情变得非常壮观 - 因此认为不太可能成为解决此问题的方法.

ourDomain但是,如果默认安全域已更改为,则它将按预期工作.

这似乎不是什么大问题 - 然而,能够尽可能多地在应用程序中留下配置感觉更好.

任何解决此问题的指针都表示赞赏.

authentication configuration jboss7.x

5
推荐指数
1
解决办法
1802
查看次数

使用 MANIFEST.MF 部署战争 - 依赖关系被忽略

我正在使用 Arquillian 将战争部署到 JBoss 7.x 中进行测试,它依赖于 Apache Commons Collections。然而,它似乎并没有获取模块依赖性。

清单.MF

Dependencies: org.apache.commons.collectionss export
Run Code Online (Sandbox Code Playgroud)

Arquillian 部署

@Deployment
public static Archive<?> createDeployment() {
    WebArchive archive = ShrinkWrap.create(WebArchive.class);

    archive
        .addPackages(true, "com.example.package")
        .addAsResource("META-INF/MANIFEST.MF", "META-INF/MANIFEST.MF")

      // * Tried the following two options with no luck
      //.AddAsManifestResource("META-INF/MANIFEST.MF", "MANIFEST.MF")
      //.AddAsWebInfResource("META-INF/MANIFEST.MF", "META-INF/MANIFEST.MF")

      // * If I enable the following, it works fine. getLibrary just picks
      // * up the lib through maven.
      //.addAsLibraries(
      //         getLibrary("commons-collections:commons-collections:3.2.1"))
       ;

    return archive;
}
Run Code Online (Sandbox Code Playgroud)

我不想使用jboss-deployment-structure.xml,因为感觉就像用大锤敲开坚果。

有任何想法吗?

java-ee-6 jboss-arquillian jboss7.x

3
推荐指数
1
解决办法
4757
查看次数