Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deploying a war with a MANIFEST.MF - Dependencies get ignored

I am deploying a war into JBoss 7.x using Arquillian for testing and it has a dependency on Apache Commons Collections. However, it just doesn't seem to pick up the module dependency.

MANIFEST.MF

Dependencies: org.apache.commons.collectionss export

Arquillian Deployment

@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;
}

I don't want to use jboss-deployment-structure.xml since it feels like using a sledgehammer to crack a nut.

Any ideas?

like image 278
drone.ah Avatar asked Dec 21 '25 17:12

drone.ah


1 Answers

In my case I added a MANIFEST.MF within src/test/resources and .addAsManifestResource("MANIFEST.MF") for Arquillian

MANIFEST.MF

Manifest-Version: 1.0
Built-By: me
Build-Jdk: 1.6.0_45 
Created-By: Maven Integration for Eclipse
Dependencies: org.infinispan export

Arquillian

@Deployment(testable = false)
public static WebArchive createDeployment() {
    MavenDependencyResolver mvnResolver = DependencyResolvers.use(MavenDependencyResolver.class).loadMetadataFromPom("pom.xml").goOffline();

    return ShrinkWrap
            .create(WebArchive.class, "example.war")
            .addPackages(true, Filters.exclude(".*Test.*"), "com/comapany/")
            .addAsManifestResource("MANIFEST.MF")
            .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
    }
}
like image 72
Tobias Sarnow Avatar answered Dec 24 '25 09:12

Tobias Sarnow