Java Ninja Chronicles By Norris Shelton

Things I learned in the pursuit of code

I have seen 3 different approaches to making a Vignette Portal templating webapp to hold your custom code.

  1. Make your files in an area that mirrors a webapp
    This is deployed by copying the vgn-ext-templating webapp to your web server deploy directory, then copying your files into the exploded directory
    Pros
    This keeps your files separate from the vignette code
    Makes it easy to upgrade the base vignette webapp
    Cons
    You are not really in a webapp so you probably don’t have access to their libraries
    May not have good syntax highlighting from your IDE without jumping through hoops
    Verdict
    This is useful for only the smallest of customizations and your are probably editing your jsp files by hand

  2. Add your files to a copy of the vgn-ext-templating webapp
    Pros
    This gives your access to the vignette provided libraries
    Your code is in a structure that is a valid webapp
    Cons
    Your code is mixed in with the vignette provided code
    Verdict
    This is much better for IDE support, but future vignette upgrades have to be done by hand

  3. Create a maven project that inherits the vgn-ext-templating webpp
    Pros
    This gives your access to the vignette provided libraries
    Your code is in a structure that is a valid webapp
    Maven can be used to manage the dependencies
    Your code is kept separate from the vignette provided code
    Cons
    You will need to verify that newer versions of the libraries are compatible with the previously provided vignette libraries
    Verdict
    This is much better for IDE support and future vignette upgrades can be accomplished quickly

  4. I saw approach one used on a vignette portal 7.6 webapp. This was for a very small webapp with only jsp files. No real code. The custom code is composed of jsp files that function as vignette jsp overrides for list and detail pages.

    Approach two was used on an intranet webapp on vignette portal 7.6 sp1 webapp. There was considerable custom code. To facilitate this, the project was converted to a maven project. The vignette libraries were made available via maven system scope dependencies, served out of the WEB-INF/lib directory. Any 3rd party libs that could be identified, they were replaced with normal maven dependencies. This worked out well until vignette portal 7.6 sp2_patch came along. The upgrade forced a reevaluation of the way we built the webapp.

    This reevaluation led to approach 3. To test this approach, I took the webapp that had been used to build approach one and put just the custom code in a maven webapp. Then I built a parent pom that included the vignette vgn-ext-templating webapp. At this point, it used vignette portal 7.6 sp1 libraries. I then made a parent pom that had the vignette portal 7.6 sp2_patch libraries. It only took 30 minutes to diff the two libraries to find the differences.

    At this point, it seems that approach 3 is by far the best approach.

    Here is how you do it:
    The vignette provided libraries were added to the local repository. Basic spring libraries were added along with logback for logging. Any known libraries were imported as a maven central repo dependency. This helps in cases where subsequent dependencies need a newer version of the library. Maven will ensure that the newer version is built into the artifact, but not the older version. This carries a risk of a newer library not being compatible with the version that is needed by vignette. This has not materialized at this point, but must be kept in mind.

    This is what the parent pom.xml looks like.

    <?xml version="1.0" encoding="UTF-8"?>
    <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>com.bhsi</groupId>
        <artifactId>vgn-ext-templating</artifactId>
        <version>7.6sp2_20110101_patch</version>
        <name>BHSI Maven-Vignette Ext Templating Parent</name>
        <packaging>pom</packaging>
    
        <developers>
            <developer>
                <name>Norris Shelton</name>
            </developer>
        </developers>
    
        <distributionManagement>
            <repository>
                <id>nexus</id>
                <name>nexus</name>
                <url>http://lxbhi320:8091/nexus/content/repositories/releases</url>
            </repository>
        </distributionManagement>
    
        <properties>
            <vignette.version>7.6sp2_20110101_patch</vignette.version>
            <spring.version>3.0.5.RELEASE</spring.version>
            <slf4j.version>1.6.1</slf4j.version>
        </properties>
    
        <dependencies>
            <!-- the overlay is part of what makes this project a Vignette template-->
            <dependency>
                <groupId>com.bhsi</groupId>
                <artifactId>vgn-ext-templating-web</artifactId>
                <version>${vignette.version}</version>
                <type>war</type>
                <scope>runtime</scope>
            </dependency>
    
            <!--note from the original port of vgn-ext-templating to maven -->
            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
                <version>1.0.2</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=autonomyclient -Dfile=autonomyClient.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>autonomyClient</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=axis -Dfile=axis.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>axis</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=castor -Dfile=castor.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>castor</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>2.1</version>
            </dependency>
            <!--note commons dbcp for jdk 5 &amp; below -->
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>1.3</version>
            </dependency>
            <dependency>
                <groupId>commons-discovery</groupId>
                <artifactId>commons-discovery</artifactId>
                <version>0.2</version>
            </dependency>
            <dependency>
                <groupId>commons-fileupload</groupId>
                <artifactId>commons-fileupload</artifactId>
                <version>1.1</version>
            </dependency>
            <!--note they are using the OLD api.  Need to investigate upgrading to 4-->
            <dependency>
                <groupId>commons-httpclient</groupId>
                <artifactId>commons-httpclient</artifactId>
                <version>3.0-rc2</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>1.1</version>
            </dependency>
            <!-- note marked as provided so it will not be packaged-->
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.1</version>
                <scope>provided</scope>
            </dependency>
            <!--note hijack common logging-->
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jcl-over-slf4j</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=hibernate -Dfile=hibernate.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>hibernate</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=hsqldb -Dfile=hsqldb.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>hsqldb</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=jaxb-api -Dfile=jaxb-api.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=jaxb-impl -Dfile=jaxb-impl.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>jaxb-impl</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=jaxrpc -Dfile=jaxrpc.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>jaxrpc</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=jsafe -Dfile=jsafe.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>jsafe</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=jsr173_1.0_api -Dfile=jsr173_1.0_api.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>jsr173_1.0_api</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=log4j -Dfile=log4j.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>log4j</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=pullparser -Dfile=pullparser.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>pullparser</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=saaj -Dfile=saaj.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>saaj</artifactId>
                <version>${vignette.version}</version>
            </dependency>
    
            <!--note vignette-provided libraries-->
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=taglibs-i18n -Dfile=taglibs-i18n.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>taglibs-i18n</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=vgn-appsvcs-cda -Dfile=vgn-appsvcs-cda.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>vgn-appsvcs-cda</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=vgnhpd-7.1 -Dfile=vgnhpd-7.1.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>vgnhpd-7.1</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=vgnhpdwrapper -Dfile=vgnhpdwrapper.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>vgnhpdwrapper</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=vgn-portal-combined -Dfile=vgn-portal-combined.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>vgn-portal-combined</artifactId>
                <version>${vignette.version}</version>
            </dependency>
    
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=wsdl4j -Dfile=wsdl4j.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>wsdl4j</artifactId>
                <version>${vignette.version}</version>
            </dependency>
            <dependency>
                <groupId>xalan</groupId>
                <artifactId>xalan</artifactId>
                <version>2.6.0</version>
            </dependency>
            <!--mvn install:install-file -DgroupId=com.vignette.vgn-ext-templating -Dversion=${vignette.version} -Dpackaging=jar -DgeneratePom=true -DartifactId=xerces -Dfile=xerces.jar-->
            <dependency>
                <groupId>com.vignette.vgn-ext-templating</groupId>
                <artifactId>xerces</artifactId>
                <version>${vignette.version}</version>
            </dependency>
    
            <!--note Servlet, jsp &amp; jstl - all provided-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.1</version>
                <scope>provided</scope>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
            </dependency>
    
            <!--note Spring framework-->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
                <version>${spring.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>${spring.version}</version>
            </dependency>
    
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.8.2</version>
                <scope>test</scope>
            </dependency>
    
            <!-- LogBack -->
            <dependency>
                <groupId>ch.qos.logback</groupId>
                <artifactId>logback-classic</artifactId>
                <version>0.9.24</version>
            </dependency>
            <dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-api</artifactId>
                <version>${slf4j.version}</version>
            </dependency>
        </dependencies>
    
        <build>
            <finalName>vgn-ext-templating-dependencies</finalName>
        </build>
    </project>
    

    Notice the very first dependiency.

            <!-- the overlay is part of what makes this project a Vignette template-->
            <dependency>
                <groupId>com.bhsi</groupId>
                <artifactId>vgn-ext-templating-web</artifactId>
                <version>${vignette.version}</version>
                <type>war</type>
                <scope>runtime</scope>
            </dependency>
    

    Maven has the ability to include a war as a dependency. It becomes an overlay and both of the webapps work together. If your module produces a war, then your web.xml will be chosen. The libs had to be included in the parent pom as dependencies because even though maven will include the war that does include libs, those libs are not made available to your classpath. All of the libs were removed from the webapp and included via the parent. Ugh. Hopefully they will change this in a future version and you can get this done with only one maven project.

    This is what the pom.xml for the vgn-ext-templating overlay webapp looks like.

    <?xml version="1.0" encoding="UTF-8"?>
    <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>com.bhsi</groupId>
        <artifactId>vgn-ext-templating-web</artifactId>
        <version>7.6sp2_20110101_patch</version>
        <packaging>war</packaging>
        <name>BHSI Maven-Vignette Ext Templating webapp</name>
    
        <developers>
            <developer>
                <name>Norris Shelton</name>
            </developer>
        </developers>
    
        <distributionManagement>
            <repository>
                <id>nexus</id>
                <name>nexus</name>
                <url>http://lxbhi320:8091/nexus/content/repositories/releases</url>
            </repository>
        </distributionManagement>
    
        <build>
            <finalName>vgn-ext-templating-web</finalName>
        </build>
    </project>
    

    This is the script that I wrote to deploy the vignette dependencies into the local maven repository.

    REM These are the commands to import the vgn-ext-templating dependency jars (WEB-INF/lib) into your local maven repository
    REM You will then need to use the Sonatype GUI to "deploy" them to that repository for use by other people.
    
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=autonomyclient     -Dfile=autonomyClient.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=axis               -Dfile=axis.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=castor             -Dfile=castor.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=hibernate          -Dfile=hibernate.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=hsqldb             -Dfile=hsqldb.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=jaxb-api           -Dfile=jaxb-api.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=jaxb-impl          -Dfile=jaxb-impl.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=jaxrpc             -Dfile=jaxrpc.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=jsafe              -Dfile=jsafe.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=jsr173_1.0_api     -Dfile=jsr173_1.0_api.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=log4j              -Dfile=log4j.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=pullparser         -Dfile=pullparser.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=saaj               -Dfile=saaj.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=taglibs-i18n       -Dfile=taglibs-i18n.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=vgn-appsvcs-cda    -Dfile=vgn-appsvcs-cda.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=vgnhpd-7.1         -Dfile=vgnhpd-7.1.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=vgnhpdwrapper      -Dfile=vgnhpdwrapper.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=vgn-portal-combined -Dfile=vgn-portal-combined.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=wsdl4j             -Dfile=wsdl4j.jar
    call mvn deploy:deploy-file -DrepositoryId=nexus -DrepositoryLayout=default -Durl=http://lxbhi320:8091/nexus/content/repositories/releases -DgroupId=com.vignette.vgn-ext-templating -Dversion=7.6sp2_20110101_patch -Dpackaging=jar -DgeneratePom=true -DartifactId=xerces             -Dfile=xerces.jar
    

    Once this is done, you can convert any webapp into a vignette portal vgn-ext-templating webapp by setting the parent of a project to be the parent pom that was created by adding the following to your pom.xml

        <parent>
            <!-- note this is what makes this project a Vignette template-->
            <groupId>com.bhsi</groupId>
            <artifactId>vgn-ext-templating</artifactId>
            <version>7.6sp2_20110101_patch</version>
        </parent>
    

    February 13th, 2011

    Posted In: Java, Maven, Spring, vignette

    Leave a Comment

LinkedIn Auto Publish Powered By : XYZScripts.com