如何从ShrinkWrap存档中删除我的测试类

时间:2014-02-17 21:47:03

标签: java shrinkwrap

如何从最终档案中过滤出类?

public static JavaArchive unitTestJar() {
    return ShrinkWrap.create( JavaArchive.class )
            .addAsManifestResource( EmptyAsset.INSTANCE, "beans.xml" )
            .addPackages( false, getCorePackages() );
}

public static String[] getCorePackages( String... args ) {
    List<String> strings = Arrays.asList(
            "com.lm.util",
            "com.lm.infrastructure"
    );

    strings.addAll( Arrays.asList( args ) );
    return (String[]) strings.toArray();
}

我看到有一个Filter API,但我似乎无法找到任何使用它的示例。最终,我想我会删除任何*Test*的内容。这比尝试一次添加一个类更容易。

1 个答案:

答案 0 :(得分:9)

试试这个:

ShrinkWrap.create(WebArchive.class)  
          .addPackages(true, Filters.exclude(".*Test.class"), getCorePackages());