Java源码示例:org.jboss.shrinkwrap.api.importer.ExplodedImporter

示例1
private void createShrinkWrapDomain() {
    ClassLoader originalCl = Thread.currentThread().getContextClassLoader();
    try {
        if (isFatJar()) {
            Module appModule = Module.getBootModuleLoader().loadModule(APPLICATION_MODULE_NAME);
            Thread.currentThread().setContextClassLoader(appModule.getClassLoader());
        }
        Domain domain = ShrinkWrap.getDefaultDomain();
        domain.getConfiguration().getExtensionLoader().addOverride(ZipExporter.class, ZipExporterImpl.class);
        domain.getConfiguration().getExtensionLoader().addOverride(ZipImporter.class, ZipImporterImpl.class);
        domain.getConfiguration().getExtensionLoader().addOverride(ExplodedExporter.class, ExplodedExporterImpl.class);
        domain.getConfiguration().getExtensionLoader().addOverride(ExplodedImporter.class, ExplodedImporterImpl.class);
        domain.getConfiguration().getExtensionLoader().addOverride(JavaArchive.class, JavaArchiveImpl.class);
        domain.getConfiguration().getExtensionLoader().addOverride(WebArchive.class, WebArchiveImpl.class);
    } catch (Exception e) {
        SwarmMessages.MESSAGES.shrinkwrapDomainSetupFailed(e);
    } finally {
        Thread.currentThread().setContextClassLoader(originalCl);
    }
}
 
示例2
public static WebArchive createSpecialtiesDeployment() {
    File[] deps = Maven.resolver().loadPomFromFile("pom.xml").importRuntimeDependencies().resolve().withTransitivity().asFile();
    WebArchive war = null;
    try {
        war = ShrinkWrap.create(WebArchive.class, "specialties.war")
            .addClasses(SpecialtyController.class, LanguageBean.class,
                    SpecialtyDao.class, SpecialtyDaoImpl.class,
                    Owner.class, Pet.class, PetType.class,
                    Specialty.class, Vet.class, Visit.class)
            .merge(ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class)
                    .importDirectory(WEBAPP_SRC).as(GenericArchive.class),
                    "/", Filters.include(".*\\.xhtml$|.*\\.html$"))
            .addAsResource("META-INF/persistence.xml")
            .addAsResource("messages_de.properties")
            .addAsResource("messages_en.properties")
            .addAsLibraries(deps)
            .addAsWebInfResource(
                    new StringAsset("<faces-config version=\"2.2\"/>"),
                    "faces-config.xml");
    } catch (Exception e) {
        e.printStackTrace();
    }
    return war;
}
 
示例3
public static WebArchive createPetTypeDeployment() {
    File[] deps = Maven.resolver().loadPomFromFile("pom.xml").importRuntimeDependencies().resolve().withTransitivity().asFile();
    return ShrinkWrap.create(WebArchive.class, "pettypes.war")
            .addClasses(PetTypeController.class, LanguageBean.class,
                    PetTypeDao.class, PetTypeDaoImpl.class,
                    Owner.class, Pet.class, PetType.class,
                    Specialty.class, Vet.class, Visit.class)
            .merge(ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class)
                    .importDirectory(WEBAPP_SRC).as(GenericArchive.class),
                    "/", Filters.include(".*\\.xhtml$|.*\\.html$"))
            .addAsResource("META-INF/persistence.xml")
            .addAsResource("messages_de.properties")
            .addAsResource("messages_en.properties")
            .addAsLibraries(deps)
            .addAsWebInfResource(
                    new StringAsset("<faces-config version=\"2.2\"/>"),
                    "faces-config.xml");
}
 
示例4
public static WebArchive createVetDeployment() {
    File[] deps = Maven.resolver().loadPomFromFile("pom.xml").importRuntimeDependencies().resolve().withTransitivity().asFile();
    return ShrinkWrap.create(WebArchive.class, "vet.war")
            .addClasses(
                    SpecialtyController.class, VetController.class, LanguageBean.class,
                    SpecialtyConverter.class,
                    SpecialtyDao.class, SpecialtyDaoImpl.class,
                    VetDao.class, VetDaoImpl.class,
                    Owner.class, Pet.class, PetType.class,
                    Specialty.class, Vet.class, Visit.class,
                    VetSortingBean.class)
            .merge(ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class)
                    .importDirectory(WEBAPP_SRC).as(GenericArchive.class),
                    "/", Filters.include(".*\\.xhtml$|.*\\.html$"))
            .addAsResource("META-INF/persistence.xml")
            .addAsResource("messages_de.properties")
            .addAsResource("messages_en.properties")
            .addAsLibraries(deps)
            .addAsWebInfResource(
                    new StringAsset("<faces-config version=\"2.2\"/>"),
                    "faces-config.xml");
}
 
示例5
@Override
public WebArchive getBaseArchive() {
    return ShrinkWrap.create(WebArchive.class)
            .addAsLibraries(resolveMvcSpecJar())
            .addAsLibraries(
                    ShrinkWrap.create(ExplodedImporter.class, "krazo-core.jar")
                            .importDirectory("../core/target/classes")
                            .as(JavaArchive.class)
            )
            .addAsLibraries(
                    ShrinkWrap.create(ExplodedImporter.class, "krazo-cxf.jar")
                            .importDirectory("../cxf/target/classes")
                            .as(JavaArchive.class)
            );
}
 
示例6
@Override
public WebArchive getBaseArchive() {
    return ShrinkWrap.create(WebArchive.class)
            .addAsLibraries(resolveMvcSpecJar())
            .addAsLibraries(
                    ShrinkWrap.create(ExplodedImporter.class, "krazo-core.jar")
                            .importDirectory("../core/target/classes")
                            .as(JavaArchive.class)
            )
            .addAsLibraries(
                    ShrinkWrap.create(ExplodedImporter.class, "krazo-jersey.jar")
                            .importDirectory("../jersey/target/classes")
                            .as(JavaArchive.class)
            );
}
 
示例7
@Override
public WebArchive getBaseArchive() {
    return ShrinkWrap.create(WebArchive.class)
            .addAsLibraries(resolveMvcSpecJar())
            .addAsLibraries(
                    ShrinkWrap.create(ExplodedImporter.class, "krazo-core.jar")
                            .importDirectory("../core/target/classes")
                            .as(JavaArchive.class)
            )
            .addAsLibraries(
                    ShrinkWrap.create(ExplodedImporter.class, "krazo-cxf.jar")
                            .importDirectory("../cxf/target/classes")
                            .as(JavaArchive.class)
            );
}
 
示例8
@Override
public WebArchive getBaseArchive() {
    return ShrinkWrap.create(WebArchive.class)
            .addAsLibraries(resolveMvcSpecJar())
            .addAsLibraries(
                    ShrinkWrap.create(ExplodedImporter.class, "krazo-core.jar")
                            .importDirectory("../core/target/classes")
                            .as(JavaArchive.class)
            )
            .addAsLibraries(
                    ShrinkWrap.create(ExplodedImporter.class, "krazo-resteasy.jar")
                            .importDirectory("../resteasy/target/classes")
                            .as(JavaArchive.class)
            );
}
 
示例9
@Deployment(testable = false)
    public static WebArchive createDeployment() {

        File[] extraJars = Maven.resolver().loadPomFromFile("pom.xml")
            .resolve(
                "org.projectlombok:lombok:1.16.8",
                // "org.modelmapper:modelmapper:0.7.5",
                // "org.apache.commons:commons-lang3:3.4",
                // "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.6.3",
                "io.jsonwebtoken:jjwt:0.8.0"
            )
            .withTransitivity()
            .asFile();

        final WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war")
            .addAsLibraries(extraJars)
            .addPackages(true, Bootstrap.class.getPackage())
            // .addAsResource("test-log4j.properties", "log4j.properties")
            //Add JPA persistence configration.
            //WARN: In a war package, persistence.xml should be put into /WEB-INF/classes/META-INF/, not /META-INF
            //.addAsManifestResource("META-INF/test-persistence.xml", "persistence.xml")
            .addAsResource("META-INF/persistence.xml")
            .addAsResource("META-INF/orm.xml");

//            .addAsWebInfResource("test-web.xml", "web.xml")
//            // Enable CDI
//            .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
        //  .addAsWebInfResource("test-jboss-deployment-structure.xml", "jboss-deployment-structure.xml");
        war.merge(
            ShrinkWrap.create(GenericArchive.class)
                .as(ExplodedImporter.class)
                .importDirectory("src/main/webapp")
                .as(GenericArchive.class),
            "/"
        );
        LOG.log(Level.INFO, "war to string @{0}", war.toString(true));
        return war;
    }
 
示例10
private void addUberjarResources() {
    if (this.uberjarResourcesDirectory == null) {
        return;
    }

    if (!Files.exists(this.uberjarResourcesDirectory)) {
        return;
    }

    if (!Files.isDirectory(this.uberjarResourcesDirectory)) {
        return;
    }

    this.archive.as(ExplodedImporter.class).importDirectory(this.uberjarResourcesDirectory.toFile());
}
 
示例11
@Override
protected boolean setupUsingAppArtifact(Archive<?> archive) throws IOException {
    File exploded = ExplodedApplicationArtifactLocator.get();
    if (exploded != null && exploded.canRead()) {
        // Use exploded deployment from tmp dir
        archive.as(ExplodedImporter.class).importDirectory(exploded);
        return true;
    }
    return super.setupUsingAppArtifact(archive);
}
 
示例12
@Override
public List<JavaArchive> allArtifacts(String... groupIdExclusions) throws IOException {
    Map<String, JavaArchive> archives = new HashMap<>();
    Set<String> archivesPaths;

    final List<String> exclusions = Arrays.asList(groupIdExclusions);

    ApplicationEnvironment env = ApplicationEnvironment.get();
    archivesPaths = env.resolveDependencies(exclusions);

    // package the shrinkwrap bits
    for (final String element : archivesPaths) {

        final File artifact = new File(element);

        if (artifact.isFile()) {
            archives.put(artifact.getName(), ShrinkWrap.create(ZipImporter.class, artifact.getName())
                    .importFrom(artifact)
                    .as(JavaArchive.class));
        } else {

            final String archiveName = FileSystemLayout.archiveNameForClassesDir(artifact.toPath());

            // pack resources and classes of the same project into one archive
            if (archives.containsKey(archiveName)) {
                archives.get(archiveName).as(ExplodedImporter.class).importDirectory(artifact);
            } else {
                archives.put(archiveName, ShrinkWrap.create(ExplodedImporter.class, archiveName)
                        .importDirectory(artifact)
                        .as(JavaArchive.class));
            }
        }
    }

    return new ArrayList<>(archives.values());
}
 
示例13
public static WebArchive createOwnerDeployment() {
    File[] deps = Maven.resolver().loadPomFromFile("pom.xml").importRuntimeDependencies().resolve().withTransitivity().asFile();
    WebArchive war = null;
    try {
            war = ShrinkWrap.create(WebArchive.class, "owner.war")
            .addClasses(OwnerController.class, PetTypeController.class, LanguageBean.class,
                    OwnerService.class, OwnerServiceImpl.class,
                    OwnerDao.class, OwnerDaoImpl.class, PetDao.class, PetDaoImpl.class,
                    VisitDao.class, VisitDaoImpl.class,
                    PetTypeDao.class, PetTypeDaoImpl.class,
                    Owner.class, Pet.class, PetType.class,
                    Specialty.class, Vet.class, Visit.class)
            .merge(ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class)
                    .importDirectory(WEBAPP_SRC).as(GenericArchive.class),
                    "/", Filters.include(".*\\.xhtml$"))
            .addAsResource("META-INF/persistence.xml")
            .addAsResource("messages_de.properties")
            .addAsResource("messages_en.properties")
            .addAsLibraries(deps)
            .addAsWebInfResource(
                            new StringAsset("<faces-config version=\"2.2\"/>"),
                            "faces-config.xml");
    } catch (Exception e) {
        e.printStackTrace();
    }
    return war;
}
 
示例14
@Deployment
public static WebArchive createDeployment() {
    WebArchive war = ShrinkWrap.create(WebArchive.class, "test.war")
            .addClasses(Movie.class, MoviesBean.class, MoviesArquillianHtmlUnitTest.class, ActionServlet.class)
            .addAsResource(new ClassLoaderAsset("META-INF/persistence.xml"), "META-INF/persistence.xml");

    war.merge(ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class)
                    .importDirectory(Basedir.basedir(WEBAPP_SRC)).as(GenericArchive.class),
            "/", Filters.includeAll());

    return war;
}
 
示例15
private Builder add(final Archive<?> webArchive, final File dir, final String root) {
    if (dir == null || !dir.exists()) {
        return this;
    }

    final KnownResourcesFilter filter = new KnownResourcesFilter(dir, root, this.filter);
    filter.update(
        webArchive.merge(
            ShrinkWrap.create(GenericArchive.class).as(ExplodedImporter.class)
                .importDirectory(dir).as(GenericArchive.class), root, filter));

    return this;
}
 
示例16
private Archive<?> loadFromDirectory(File directory) throws IOException {
    JARArchive archive = ShrinkWrap.create(JARArchive.class);
    archive.as(ExplodedImporter.class).importDirectory(directory);
    return archive;
}
 
示例17
private Archive<?> loadFromDirectory(File directory) throws IOException {
    JARArchive archive = ShrinkWrap.create(JARArchive.class);
    archive.as(ExplodedImporter.class).importDirectory(directory);
    return archive;
}