0

First of all I want to let you know that this is my first project in Spring. I have built a web application using Maven , SPring MVC and Hibernate that connects to an SQL Database. SO far all the deployment has been done in an amazon instance using the Amazon Eclipse Toolkit. Now it is time to move to production and I would like to know how to create a war file manually and deploy it to the tc-server runing on ubuntu. Actually, the right question would be how to manually configure the application to run in that specific server with the provided configurations? My pom file look like this:

<?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.sprsec.controller</groupId>
<artifactId>id</artifactId>
<packaging>war</packaging>
<version>1.0.0-SNAPSHOT</version>
<name>App-Name</name>
<url>http://url-to-the-instance</url>

<properties>
    <hibernate.version>4.1.7.Final</hibernate.version>
    <mysql.connector.version>5.1.21</mysql.connector.version>
    <slf4j.version>1.6.6</slf4j.version>
    <spring.version>3.1.3.RELEASE</spring.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.4</version>
    </dependency>

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.5</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.9.2</version>
    </dependency>
    <!-- DB related dependencies -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>sqljdbc4</artifactId>
        <version>4.0</version>
    </dependency>

    <dependency>
        <groupId>commons-dbcp</groupId>
        <artifactId>commons-dbcp</artifactId>
        <version>1.4</version>
    </dependency>
    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.12.1.GA</version>
    </dependency>

    <!-- SPRING -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <!-- CGLIB is required to process @Configuration classes -->
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2.2</version>
    </dependency>


    <!-- Spring Security -->
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>${spring.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>${spring.version}</version>
    </dependency>

    <!-- Servlet -->
    <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>

    <!-- Other -->

    <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <!-- Test -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
    </dependency>
</dependencies>
<build>
    <finalName>build-name</finalName>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.0.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>

    </plugins>
</build>

Brian Clozel
  • 56,583
  • 15
  • 167
  • 176
sm13294
  • 563
  • 7
  • 23

1 Answers1

1

As you have created a WAR there is no specific config required? I take it you have all the config to connect to the database inside your Spring/Datasource config?

So the simplest solution would be to copy the WAR file manually :)

mvn clean package

cp target/build-name.war /yourtomcathome/webapps

restart tomcat (depends if you have installed as service) e.g.

sudo service tomcat restart
Ayub Malik
  • 2,488
  • 6
  • 27
  • 42
  • hi, thank you for your answer, but the thing that i do not understand is if prior creating the war, do I have to set a configuration file that tells the application that will be installed in a specific host, or the domain name, path to the running tc-server or something like that? For example I read this article: http://www.packtpub.com/article/spring-mvc-configure-deploy-application and am not sure if i need to create the build.xml and build.properties files. – sm13294 Aug 01 '13 at 14:33
  • Not really. Tomcat will understand the WAR file as long as you copy to the /webapps folder... Try it ;) – Ayub Malik Aug 01 '13 at 14:37