- Run Eclipse and open the Maven project that you want to contert convert to a Tomcat 7 application.
Open
the your project's decorators.xml file for editing. The decorators.xml file is located in your project's WEB-INF directory.
Your decorator.xml should look similar to the following:
Code Block |
---|
<decorators defaultdir="/WEB-INF/decorators">
<decorator name="ajax" page="ajax.jsp">
<pattern>/**/ajax/*</pattern>
</decorator>
<decorator name="ssb" page="ssb.jsp">
<pattern>/**/*</pattern>
</decorator>
</decorators>
|
In each of the <pattern> tags, remove the leading /** so that the above now looks
similiar similar to the following:
Code Block |
---|
<decorators defaultdir="/WEB-INF/decorators">
<decorator name="ajax" page="ajax.jsp">
<pattern>/*ajax/*</pattern>
</decorator>
<decorator name="ssb" page="ssb.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
|
When you are satisfied that everything is correct, save the changes.
Open your project's applicationContext xml that contains the mitsisDataSource bean. The mitsisDataSource beanshould look similar to:
Code Block |
---|
<bean id="mitsisDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="jdbc/MitsisDS" />
</bean>
|
Remember the value of the name property. In this example the value is jdbc/MitsisDS (the default for most ES web apps). This value will be the Resource Definition name used
in the following steps.
Change the jndiName value as shown belowthroughout the remainder of this page.
Add a new property, resourceRef,to the bean definition:
Code Block |
---|
<bean id="mitsisDataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:comp/env/jdbc/MitsisDS" />
<property name="resourceRef" value="true" />
</bean>
|
by prefixing the existing jndiName value with java:comp/env/. DonDon't forget to use your Resource Definition name in place of jdbc/MitsisDS.
When you are satisfied that everything is correct, save the changes.
Open your project's log4j.xml for editing and find the 2 lines similar to the following (attis the project's application context root):
Code Block |
---|
<param name="File" value="log/att.log" />
<param name="File" value="log/hbn-att.log" />
|
and change them to:
Code Block |
---|
<param name="File" value="${logs.dir}/att/att.log" />
<param name="File" value="${logs.dir}/att/hbn-att.log" />
|
When you are satisfied that everything is correct, save the changes.
Open your project's web.xml for editing and add the following after the <servlet-mapping> tags and before the <welcome-file-list> tag.
Code Block |
---|
<resource-ref>
<description>Oracle Datasource</description>
<res-ref-name>jdbc/MitsisDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
|
Don't forget to use your Resource Definition name in place of jdbc/MitsisDS.
When you are satisfied that everything is correct, save the changes.
Open your Tomcat 7 server's context.xml, located at ${CATALINA_HOME}/conf/context.xml, and verify that a Resource Definition for your application exists.
If the Resource Definition does not exits, add the following anywhere between the <context> and </context> tags:
Code Block |
---|
<Resource name="jdbc/MitsisDsMitsisDS"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@//earth-vault-2.mit.edu:1523/sundev2sundev11"
username="XXXXXXXX"
password="YYYYYYYY"
maxActive="20"
maxIdle="10"
maxWait="-1"
removeAbandoned="true"
removeAbandonedTimeout="30"
logAbandoned="true" />
<ResourceLink global="jdbc/MitsisDS" name="jdbc/MitsisDS" type="javax.sql.DataSource"/>
|
Don't forget to use your Resource Definition name in place of jdbc/MitsisDS.
When you are satisfied that everything is correct, save the changes.
Open the project's pom.xml and delete the following dependency:
Code Block |
---|
<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>1.4</version>
<scope>test</scope>
</dependency>
|
and add the following dependency:
Code Block |
---|
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
<scope>test</scope>
</dependency>
|
When you are satisfied that everything is correct, save the changes.
- Search both Project Jar Dependencies and Project Test Jar Dependencies for any ojdbc-1.4.jar dependency and exclude the dependency.
In Eclipse, this can be done by doing the following:- Open a Project Explorer View, right click on your project and select Maven > Update Dependencies...
- Expand Maven Dependencies and scroll through the dependencies until you find the ojdbc-1.4.jar.
- Right click on the ojdbc-1.4.jar and select Maven > Exlude Maven Artifact...
- Update APPLICATION_NAME.properties (following is for assignsupervisor property file located at: /private/var/local/etc/assignsupervisor/assignsupervisor.properties)
supervasgn.url=https://registration-qa.mit.edu/advisorasgn
supervasgn.view.on.websis.date=06/09/2011
pdf.baseUrl=http://registration.mit.edu/advisorasgn/
websis.url=student.mit.edu
###############
email.address.from=youremail@mit.edu
email.address.test.to=youremail@mit.edu
email.production.mode=false
###############
roles.function.category=REG
local.authentication=true
local.user.password=password
local.user.name=avsingh
local.mitroles=ADVISOR_ASSIGN
local.mitroles=ADVISOR_ASSIGN_REGISTRAR
local.mitroles=ADVISOR_ASSIGN_SUPERUSER
local.mitroles.domain=REG
import.upload.dir=${user.home} - Add highlighted tomcat plugin in pom.xml of maven project.
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2</version>
<configuration>
<executable>java</executable>
<arguments>
<argument>-jar</argument>
<argument>${oc4j.j2eeHome}${file.separator}admin_client.jar</argument>
<argument>${oc4j.connectionUri}</argument>
<argument>${oc4j.username}</argument>
<argument>${oc4j.password}</argument>
<argument>-deploy</argument>
<argument>-file</argument>
<argument>${project.build.directory}${file.separator}${project.artifactId}-${project.version}.${project.packaging}</argument>
<argument>-deploymentName</argument>
<argument>${project.artifactId}</argument>
<argument>-bindAllWebApps</argument>
<argument>default-web-site</argument>
<argument>-contextRoot</argument>
<argument>${project.artifactId}</argument>
</arguments>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<update>true</update>
<server>tomcatServer</server>
<username>${tomcat.username}</username>
<password>${tomcat.password}</password>
<url>${tomcat.url}</url>
<path>${tomcat.contextPath}</path>
</configuration>
</plugin>
<!-- java compiler plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
TOMCAT CONFIGURATION FOR AUTHENTICATION
A) Update server.xml and tomcat-users.xml in <tomcat home>/conf/server.xml
Add the realm inside
<Realm className="org.apache.catalina.realm.LockOutRealm">.
<Realm className="org.apache.catalina.realm.JAASRealm" appName="Tomcat"
userClassNames="javax.security.auth.kerberos.KerberosPrincipal" roleClassNames="javax.security.auth.kerberos.KerberosPrincipal" useContextClassLoader="true" debug="99"/>
B) In <tomcat home>/tomcat-users.xml
Add the role and user details under <tomcat-users>
<role rolename="users"/>
<user username="mayajose" password="password" roles="users"/>
C) Create a new file "jaas.config" in in <tomcat home>/conf folder with the below contents.
Tomcat {
com.sun.security.auth.module.Krb5LoginModule required;
};