1 2 3 4 Previous Next 49 Replies Latest reply on Nov 19, 2013 12:56 PM by 88mary256 Go to original post
      • 45. Re: SWR API Changes: Resolution Strategies, Transitivity, and Filters
        kpiwko

        Well, new CombinedStrategy(WhatEverStrategy(), FooBarStrategy(), MyExtraStrategy()) is not as nice as Strategies.whatEver().fooBar().add(new MyExtraStrategy()).build(), but yes, CombinedStrategy fits the purpose for now.

        • 46. Re: SWR API Changes: Resolution Strategies, Transitivity, and Filters
          alrubinger

          It's funny; I think the former is actually more readable than the latter.  I don't see what fluency really buys us here, except hardcoding the stock strategies into a DSL API.

          • 47. Re: SWR API Changes: Resolution Strategies, Transitivity, and Filters
            atiyou

            Hi all,

             

            Could you please tell me how can resolve files array to My JavaArchive ??

             

            ..

            JavaArchive jar = ShrinkWrap.create(JavaArchive.class, archiveName);

            File[] libs = Maven.resolver().loadPomFromFile("pom.xml").resolve("org.springframework:spring-aop").withTransitivity().as(File.class); 

             

            ki know that for WarArchive i can do war.addAsLibrairies(libs), but now i need to merge jar files to my JavaArchive  (as SWR resolver 2.0.0-alpha-4 usage)

             

             

            Tks for feedback

            • 48. Re: SWR API Changes: Resolution Strategies, Transitivity, and Filters
              alrubinger

              Instead of "Maven.resolver()", use: "ShrinkWrapMaven.resolver()"; you'll then be able to pass in "JavaArchive.class" as an argument to "as".

               

              We split this up to enable the Resolver base API to have no compile-time dependencies.

              • 49. Re: SWR API Changes: Resolution Strategies, Transitivity, and Filters
                88mary256

                I'm sorry, I can't use DependencyResolvers, Do I need any additional thing in my POM file?

                This is my pom.xml file

                <?xml version="1.0" encoding="UTF-8"?>

                <!-- JBoss, Home of Professional Open Source Copyright 2013, Red Hat, Inc.

                  and/or its affiliates, and individual contributors by the @authors tag. See

                  the copyright.txt in the distribution for a full listing of individual contributors.

                  Licensed under the Apache License, Version 2.0 (the "License"); you may not

                  use this file except in compliance with the License. You may obtain a copy

                  of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required

                  by applicable law or agreed to in writing, software distributed under the

                  License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS

                  OF ANY KIND, either express or implied. See the License for the specific

                  language governing permissions and limitations under the License. -->

                <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

                  <modelVersion>4.0.0</modelVersion>

                 

                 

                  <groupId>ch.swissbytes.mitsuba.giftcard</groupId>

                  <artifactId>mitsuba-giftcard-web</artifactId>

                  <version>0.0.1-SNAPSHOT</version>

                  <packaging>war</packaging>

                  <name>mitsuba-giftcard-web</name>

                  <description>A starter Java EE 6 webapp project for use on JBoss AS 7 / EAP 6, generated from the jboss-javaee6-webapp archetype</description>

                 

                 

                  <url>http://jboss.org/jbossas</url>

                  <licenses>

                  <license>

                  <name>Apache License, Version 2.0</name>

                  <distribution>repo</distribution>

                  <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>

                  </license>

                  </licenses>

                 

                 

                  <properties>

                  <!-- Explicitly declaring the source encoding eliminates the following

                  message: -->

                  <!-- [WARNING] Using platform encoding (UTF-8 actually) to copy filtered

                  resources, i.e. build is platform dependent! -->

                  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

                 

                 

                  <!-- JBoss dependency versions -->

                  <version.jboss.maven.plugin>7.4.Final</version.jboss.maven.plugin>

                 

                 

                  <!-- Define the version of the JBoss BOMs we want to import to specify

                  tested stacks. -->

                  <version.jboss.bom>1.0.7.Final</version.jboss.bom>

                  <!-- Alternatively, comment out the above line, and un-comment the line

                  below to use version 1.0.4.Final-redhat-4 which is a release certified to

                  work with JBoss EAP 6. It requires you have access to the JBoss EAP 6 maven

                  repository. -->

                  <!-- <version.jboss.bom>1.0.4.Final-redhat-4</version.jboss.bom>> -->

                 

                 

                  <!-- other plugin versions -->

                  <version.surefire.plugin>2.10</version.surefire.plugin>

                  <version.war.plugin>2.1.1</version.war.plugin>

                 

                 

                  <!-- maven-compiler-plugin -->

                  <maven.compiler.target>1.6</maven.compiler.target>

                  <maven.compiler.source>1.6</maven.compiler.source>

                 

                        <version.arquillian_core>1.0.3.Final</version.arquillian_core>

                  </properties>

                 

                 

                  <repositories>

                  <repository>

                  <id>prime-repo</id>

                  <name>Prime Repo</name>

                  <url>http://repository.primefaces.org</url>

                  </repository>

                  </repositories>

                 

                 

                 

                 

                  <dependencyManagement>

                  <dependencies>

                  <!-- JBoss distributes a complete set of Java EE 6 APIs including a Bill

                  of Materials (BOM). A BOM specifies the versions of a "stack" (or a collection)

                  of artifacts. We use this here so that we always get the correct versions

                  of artifacts. Here we use the jboss-javaee-6.0-with-tools stack (you can

                  read this as the JBoss stack of the Java EE 6 APIs, with some extras tools

                  for your project, such as Arquillian for testing) and the jboss-javaee-6.0-with-hibernate

                  stack you can read this as the JBoss stack of the Java EE 6 APIs, with extras

                  from the Hibernate family of projects) -->

                  <dependency>

                  <groupId>org.jboss.bom</groupId>

                  <artifactId>jboss-javaee-6.0-with-tools</artifactId>

                  <version>${version.jboss.bom}</version>

                  <type>pom</type>

                  <scope>import</scope>

                  </dependency>

                  <dependency>

                  <groupId>org.jboss.bom</groupId>

                  <artifactId>jboss-javaee-6.0-with-hibernate</artifactId>

                  <version>${version.jboss.bom}</version>

                  <type>pom</type>

                  <scope>import</scope>

                  </dependency>

                        <dependency>

                            <groupId>org.jboss.shrinkwrap.resolver</groupId>

                            <artifactId>shrinkwrap-resolver-bom</artifactId>

                            <version>2.0.0-beta-2</version>

                            <type>pom</type>

                            <scope>test</scope>

                        </dependency>

                        <dependency>

                            <groupId>org.jboss.arquillian</groupId>

                            <artifactId>arquillian-bom</artifactId>

                            <version>${arquillian.version}</version>

                            <type>pom</type>

                            <scope>test</scope>

                        </dependency>

                  </dependencies>

                  </dependencyManagement>

                 

                 

                  <dependencies>

                  <!-- querydsl -->

                 

                 

                  <dependency>

                  <groupId>com.mysema.querydsl</groupId>

                  <artifactId>querydsl-apt</artifactId>

                  <version>3.2.4</version>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                  <dependency>

                  <groupId>com.mysema.querydsl</groupId>

                  <artifactId>querydsl-jpa</artifactId>

                  <version>3.2.4</version>

                  </dependency>

                 

                 

                  <dependency>

                  <groupId>org.slf4j</groupId>

                  <artifactId>slf4j-log4j12</artifactId>

                  <version>1.6.1</version>

                  </dependency>

                 

                 

                  <!-- primefaces -->

                  <dependency>

                  <groupId>org.primefaces</groupId>

                  <artifactId>primefaces</artifactId>

                  <version>4.0</version>

                  </dependency>

                        <!-- Paginator -->

                        <dependency>

                     <groupId>com.github.timoteoponce</groupId>

                     <artifactId>paginator</artifactId>

                     <version>0.0.5</version>

                  </dependency>

                  <!-- First declare the APIs we depend on and need for compilation. All

                  of them are provided by JBoss AS 7 -->

                 

                 

                  <!-- Import the CDI API, we use provided scope as the API is included in

                  JBoss AS 7 -->

                  <dependency>

                  <groupId>javax.enterprise</groupId>

                  <artifactId>cdi-api</artifactId>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                  <!-- Import the Common Annotations API (JSR-250), we use provided scope

                  as the API is included in JBoss AS 7 -->

                  <dependency>

                  <groupId>org.jboss.spec.javax.annotation</groupId>

                  <artifactId>jboss-annotations-api_1.1_spec</artifactId>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                  <!-- Import the JAX-RS API, we use provided scope as the API is included

                  in JBoss AS 7 -->

                  <dependency>

                  <groupId>org.jboss.spec.javax.ws.rs</groupId>

                  <artifactId>jboss-jaxrs-api_1.1_spec</artifactId>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                  <!-- Import the JPA API, we use provided scope as the API is included in

                  JBoss AS 7 -->

                  <dependency>

                  <groupId>org.hibernate.javax.persistence</groupId>

                  <artifactId>hibernate-jpa-2.0-api</artifactId>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                  <!-- Import the EJB API, we use provided scope as the API is included in

                  JBoss AS 7 -->

                  <dependency>

                  <groupId>org.jboss.spec.javax.ejb</groupId>

                  <artifactId>jboss-ejb-api_3.1_spec</artifactId>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                  <!-- JSR-303 (Bean Validation) Implementation -->

                  <!-- Provides portable constraints such as @Email -->

                  <!-- Hibernate Validator is shipped in JBoss AS 7 -->

                  <dependency>

                  <groupId>org.hibernate</groupId>

                  <artifactId>hibernate-validator</artifactId>

                  <scope>provided</scope>

                  <exclusions>

                  <exclusion>

                  <groupId>org.slf4j</groupId>

                  <artifactId>slf4j-api</artifactId>

                  </exclusion>

                  </exclusions>

                  </dependency>

                 

                 

                  <!-- Import the JSF API, we use provided scope as the API is included in

                  JBoss AS 7 -->

                  <dependency>

                  <groupId>org.jboss.spec.javax.faces</groupId>

                  <artifactId>jboss-jsf-api_2.1_spec</artifactId>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                  <!-- Now we declare any tools needed -->

                 

                 

                  <!-- Annotation processor that raising compilation errors whenever constraint

                  annotations are incorrectly used. -->

                  <dependency>

                  <groupId>org.hibernate</groupId>

                  <artifactId>hibernate-validator-annotation-processor</artifactId>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                  <!-- Needed for running tests (you may also use TestNG) -->

                  <dependency>

                  <groupId>junit</groupId>

                  <artifactId>junit</artifactId>

                            <!-- <version>4.11</version> -->

                  <scope>test</scope>

                  </dependency>

                  <dependency>

                     <groupId>org.jboss.shrinkwrap.resolver</groupId>

                     <artifactId>shrinkwrap-resolver-impl-maven</artifactId>

                     <!-- version>2.0.0</version -->

                            <!-- scope>test</scope -->

                  </dependency>

                            

                  <!-- Optional, but highly recommended -->

                  <!-- Arquillian allows you to test enterprise code such as EJBs and Transactional(JTA)

                  JPA from JUnit/TestNG -->

                  <dependency>

                  <groupId>org.jboss.arquillian.junit</groupId>

                  <artifactId>arquillian-junit-container</artifactId>

                  <!-- <version>${arquillian.version}</version>  -->

                            <scope>test</scope>

                  </dependency>

                 

                 

                  <dependency>

                  <groupId>org.jboss.arquillian.protocol</groupId>

                  <artifactId>arquillian-protocol-servlet</artifactId>

                  <scope>test</scope>

                  </dependency>

                 

                 

                  <!-- For serializing entities with bidirection navigation -->

                  <dependency>

                  <groupId>org.codehaus.jackson</groupId>

                  <artifactId>jackson-core-asl</artifactId>

                  <version>1.9.13</version>

                  <scope>provided</scope>

                  </dependency>

                 

                 

                 

                 

                  </dependencies>

                 

                 

                  <build>

                  <!-- Maven will append the version to the finalName (which is the name

                  given to the generated war, and hence the context root) -->

                  <finalName>${project.artifactId}</finalName>

                  <plugins>

                  <plugin>

                  <artifactId>maven-war-plugin</artifactId>

                  <version>${version.war.plugin}</version>

                  <configuration>

                  <!-- Java EE 6 doesn't require web.xml, Maven needs to catch up! -->

                  <failOnMissingWebXml>false</failOnMissingWebXml>

                  </configuration>

                  </plugin>

                  <!-- The JBoss AS plugin deploys your war to a local JBoss AS container -->

                  <!-- To use, run: mvn package jboss-as:deploy -->

                  <plugin>

                  <groupId>org.jboss.as.plugins</groupId>

                  <artifactId>jboss-as-maven-plugin</artifactId>

                  <version>${version.jboss.maven.plugin}</version>

                  </plugin>

                 

                 

                  <plugin>

                  <groupId>org.codehaus.mojo</groupId>

                  <artifactId>build-helper-maven-plugin</artifactId>

                  <version>1.8</version>

                  <executions>

                  <execution>

                  <id>add-source</id>

                  <phase>generate-sources</phase>

                  <goals>

                  <goal>add-source</goal>

                  </goals>

                 

                 

                  <configuration>

                  <sources>

                  <source>src/generated/java</source>

                  </sources>

                  </configuration>

                  </execution>

                  </executions>

                  </plugin>

                 

                 

                  <!-- query dsl -->

                 

                 

                  <plugin>

                  <groupId>com.mysema.maven</groupId>

                  <artifactId>apt-maven-plugin</artifactId>

                  <version>1.1.1</version>

                  <executions>

                  <execution>

                     <phase>prepare-sources</phase>

                  <goals>

                  <goal>process</goal>

                  </goals>

                  <configuration>

                  <outputDirectory>src/generated/java</outputDirectory>

                  <processor>com.mysema.query.apt.jpa.JPAAnnotationProcessor</processor>

                  </configuration>

                  </execution>

                  </executions>

                  <dependencies>

                  <dependency>

                  <groupId>com.mysema.querydsl</groupId>

                  <artifactId>querydsl-apt</artifactId>

                  <version>3.2.4</version>

                  </dependency>

                  <dependency>

                  <groupId>com.mysema.querydsl</groupId>

                  <artifactId>querydsl-jpa</artifactId>

                  <classifier>apt</classifier>

                  <version>3.2.4</version>

                  </dependency>

                  </dependencies>

                  </plugin>

                  </plugins>

                  </build>

                 

                 

                  <profiles>

                  <profile>

                  <!-- The default profile skips all tests, though you can tune it to run

                  just unit tests based on a custom pattern -->

                  <!-- Seperate profiles are provided for running all tests, including Arquillian

                  tests that execute in the specified container -->

                  <id>default</id>

                  <activation>

                  <activeByDefault>true</activeByDefault>

                  </activation>

                  <build>

                  <plugins>

                  <plugin>

                  <artifactId>maven-surefire-plugin</artifactId>

                  <version>${version.surefire.plugin}</version>

                  <configuration>

                  <skip>true</skip>

                  </configuration>

                  </plugin>

                  </plugins>

                  </build>

                  </profile>

                 

                 

                  <profile>

                  <!-- An optional Arquillian testing profile that executes tests in your

                  JBoss AS instance -->

                  <!-- This profile will start a new JBoss AS instance, and execute the

                  test, shutting it down when done -->

                  <!-- Run with: mvn clean test -Parq-jbossas-managed -->

                  <id>arq-jbossas-managed</id>

                  <dependencies>

                  <dependency>

                  <groupId>org.jboss.as</groupId>

                  <artifactId>jboss-as-arquillian-container-managed</artifactId>

                  <version>7.1.1.Final</version>

                  <scope>test</scope>

                  </dependency>

                  </dependencies>

                  </profile>

                 

                 

                  <profile>

                  <!-- An optional Arquillian testing profile that executes tests in a remote

                  JBoss AS instance -->

                  <!-- Run with: mvn clean test -Parq-jbossas-remote -->

                  <id>arq-jbossas-remote</id>

                  <dependencies>

                  <dependency>

                  <groupId>org.jboss.as</groupId>

                  <artifactId>jboss-as-arquillian-container-remote</artifactId>

                  <scope>test</scope>

                  </dependency>

                  </dependencies>

                  </profile>

                 

                 

                  <profile>

                  <!-- When built in OpenShift the 'openshift' profile will be used when

                  invoking mvn. -->

                  <!-- Use this profile for any OpenShift specific customization your app

                  will need. -->

                  <!-- By default that is to put the resulting archive into the 'deployments'

                  folder. -->

                  <!-- http://maven.apache.org/guides/mini/guide-building-for-different-environments.html -->

                  <id>openshift</id>

                  <build>

                  <plugins>

                  <plugin>

                  <artifactId>maven-war-plugin</artifactId>

                  <version>${version.war.plugin}</version>

                  <configuration>

                  <outputDirectory>deployments</outputDirectory>

                  <warName>ROOT</warName>

                  </configuration>

                  </plugin>

                  </plugins>

                  </build>

                  </profile>

                 

                 

                  </profiles>

                </project>

                1 2 3 4 Previous Next