UNDER CONSTRUCTION
indent |
---|
{color:green}Help is available by sending an email to [mailto: Help is available by sending an email to csf-support@mit.edu Have any suggestion on how improve this wiki? Please give us your feedback at csf-support@mit.edu ]{color}
|
Panel |
---|
Quick Links to: |
Panel |
---|
Anchor |
---|
Picking a projectName and a projectArtifactId | Picking a projectName and a projectArtifactId | Picking a projectName and a projectArtifactId
indent |
---|
1 | 1 |
The first thing that must be done is to pick a *projectName* and a *projectArtifactId*. These will be used throughout the life time of your project.
\\
\\
The *projectName* is a short acronym that is used to uniquely identify your project.
The *projectArtifactId* is the application context under which your project war file will be deployed to the OC4J server.
\\
\\
Once the *projectName* and *projectArtifactId* have been selected, they should not be changed.
\\
\\
Here are a few examples of what other project have used in the past:
|
indent |
---|
2 | 2 |
||projectName||projectArtifactId||project description|
|ssb|sfs-ssb|student sponsored billing|
|ogs|ogs|online grade submission|
|onlinereg|onlinereg|online registration|
|iap|iap|individual activities period|
|
Note |
---|
The SVN repository for the jar template has moved to svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/jar-template/trunk. Please note that the dialog screen shots in Section 1-3, 1-5, 1-7 and 1-13 shows the old SVN location of the war-template. |
Panel |
---|
OVERVIEWThis document contain the instruction on how to install and configure your project's WAR component using the war-template. The screen shots are taken from the Eclipse Java EE IDE for Web Developers - Version: Indigo Service Release 2 IDE. If you are using a different version of Eclipse Java EE or a different variant of Eclipse, the screen shots may differ. It is important to keep in mind that the following instructions should be viewed as to what has to be done rather than how to do it. There are 3 sections to this document. These sections are: - Section 1:
This section deals with creating a Maven war project using the war-template. You should notice that in this section:- Items 1 - 8 deal with checking out and disconnecting the war template from the SVN repository.
- Items 9 - 12 deal with cleanup, renaming the war template and converting the project to a Maven project..
- Items 13 - 20 deal with checking in the renamed project into a new SVN repository specifically for your project.
- Section 2:
This section deals editing various project files and is very straight forward. - Section 3:
This section deals editing the project's pom.xml. - Section 4:
This section deals with changes that have been made to the WAR template that are not reflected in the documentation.
It should take you approximately 10 - 20 minutes to get your war component created and customized. |
Panel |
---|
Anchor |
---|
| Creating the project war component using the war-template |
---|
| Creating the project war component using the war-template |
---|
|
Section 1: Creating the project war component using the war-templateRun Eclipse. Go to File > New > Other.... Scroll down to SVN and expand then select Project from SVN as shown in the following panel. indent |
---|
| !setupWarTemplate002.jpg!
|
When satisfied that everything is correct, click Next. From the Checkout Project from SVN repository panel, select Create a new repository location as shown in the following panel. indent |
---|
| !setupWarTemplate004.jpg!
|
When satisfied that everything is correct, click Next. In the Enter Repository Location Information panel do the following: for the URL:field enter: Code Block |
---|
svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/war-template/trunk
|
For the Label, select: use the repository URL as the label For the Authentication, enter your User name and password. indent |
---|
| !setupWarTemplate006.jpg!
|
When satisfied that everything is correct, click Next. The Repository Location Properties panel is a warning panel. indent |
---|
| !setupWarTemplate007.jpg!
|
You do not want to normalize the URL! click No. In the Select Resourcepanel, select Code Block |
---|
svn+ssh://svn.mit.edu/es-common-services-framework/es-project-template/war-template/trunk
|
as shown in the following panel: indent |
---|
| !setupWarTemplate008.jpg!
|
When satisfied that everything is correct, click Finish. In the Check Out As panel, select Check out as a project with the name specified:
|
Panel |
---|
Anchor |
---|
| Installation of the project war component using the war-template | Installation of the project war component using the war-template | Installation of the project war component using the war-template
- Run Eclipse. Go to File > New > Other....
Scroll down to Maven and expand then select Checkout Maven Projects from SCM as shown in the following panel.
indent |
---|
|
!setupWarTemplate002setupWarTemplate010.jpg!
|
When satisfied that everything is correct, click
Next Finish.
- Do
Your Eclipse - Project Explorer View should now look similar to the following:
indent |
---|
1 | 1 |
* From the *SCM URL:* dropdown, select *snv*.
* Uncheck *Checkout All Projects*.
* Copy and pasted the following URL into the *SCM URL:* input field.
indent |
---|
|
!setupWarTemplate011.jpg!
|
Right click on the war-template project and select Team > Disconnect
When the following Confirm Disconnect from SVN panel is displayed, select Also delete the SVN meta-information from the file system.
indent |
---|
|
{code}
svn+ssh://svn.mit.edu/es-projects/es-project-template/war-template/trunk
{code}
|
When done the panel should be identical to the following:
indent |
---|
2 | 2 |
!setupWarTemplate004.jpg!
|
When satisfied that everything is correct, click Next.
If you want the change the Workspace location, uncheck the Use default Workspace location and enter the path to the desired workspace.
indent |
---|
2 | 2 |
!setupWarTemplate006.jpg!
|
When satisfied that everything is correct, click Finish.
Verify the Maven Project that is being imported. The Import Maven Projects panel should be identical to the following panel. !setupWarTemplate012.jpg!
|
When satisfied that everything is correct, click Yes.
Open the Eclipse Project Explorer View. The view should look as follows:
indent |
---|
|
!setupWarTemplate014.jpg!
|
Right click on the war-template project and select Rename....
Replace war-template with the short project acronym that you have previously selected. If you have not selected a short project acronym, please go to Selecting names for your project before continuing.
indent |
---|
|
*Note*: If you haven't already do so, You might want to append a *-web* to the *short project acronym* to denote that this is the web component of your project.
|
For example: If my short project acronym was att, then my panel would look like the following:
indent |
---|
|
!setupWarTemplate008setupWarTemplate016.jpg!
|
When satisfied that everything is correct, click OK.
- Finish.
When the project is opened, your The
Eclipse - Project Explorer View should look
as followssimilar to the following:
indent |
---|
|
!setupWarTemplate010setupWarTemplate018.jpg!
|
Right click on the renamed project and select
Team > Disconnect
Configure > Convert to Maven Project
Expand your project and it should look similar to the following:
indent |
---|
|
!setupWarTemplate019.jpg!
|
Right click on the renamed project and select Team > Share Project...
Select SVN as shown below:
When following Confirm Disconnect from SVN is displayed, select Also delete the SVN meta-information from the file system.. indent |
---|
|
!setupWarTemplate012setupWarTemplate020.jpg!
|
When satisfied that everything is correct, click
Yes.
Next.
Select Create a new repository location as shown below
Open the Eclipse - Navigator View indent |
---|
2 | 2 |
* expand the *projectArtifactId* project,
* delete the *.settings* file.
|
Open the Eclipse Project Explorer View. The view should look as follows:
indent |
---|
|
!setupWarTemplate014setupWarTemplate022.jpg!
|
Right click on the project and select Refactor > Rename....
Replace projectArtifactId with the projectArtifactId that you have previously selected.
indent |
---|
2 | 2 |
*Note*: You might want to append a *-war* to the projectArtifactId to denote that this is the war component of your project.
|
For example: If my projectArtifactId was att, then When satisfied that everything is correct, click Next.
Enter a desired SVN URL for your project.
The SVN repository that you should use is svn+ssh://svn.mit.edu/es-projects/ followed by the SVN project identifier that you had previously selected. If you have not selected a SVN project identifier, please go to Selecting names for your project before continuing.
For example:
indent |
---|
|
If my *SVN project identifier* is *academic-att*, then the SVN URL would be:
{code}
svn+ssh://svn.mit.edu/es-projects/academic-att.
{code}
This would mean that my jar project would be created under the *es-projects/academic-att* directory in the SVN repository. This is shown
in the following panel:
|
my panel would look like the following:
indent |
---|
2 | 2 |
!setupWarTemplate016.jpg!
|
When satisfied that everything is correct, click OK.
The Eclipse - Project Explorer View should look similar to the following:
indent |
---|
2 | 2 |
!setupWarTemplate018.jpg!
|
Right click on the project and select Team > Share Project...
Select SVN as shown below: indent |
---|
|
!setupWarTemplate020setupWarTemplate024.jpg!
|
Don't forget to enter your User name and Password,
When satisfied that everything is correct, click Next.
- Select Create a new repository location as shown below
When the following panel is display notifying you that a new SVN entry will be created:
indent |
---|
|
!setupWarTemplate022setupWarTemplate026.jpg!
|
When satisfied that everything is correct, click
Next OK.
Enter a desired SVN - URL for your project.
For exampleDo the following:
indent |
---|
|
Keep* inIn mindthe that*Advanced thereMode* aresection, at least 2 component for everyselect *Use project, a WAR and a JAR name*.
You* ShouldIn keepthe all*Project projectRepository componentsLayout* groupedsection, togetherselect in*Use thesingle same SVN directory. A logical grouping
would be by the projectName that you selected. If my projectName were *att*, then the SVN
URL would be *svn+ssh://svn.mit.edu/es-projects/att*. This would mean that my war project
would be created under the *es-projects/att* directory in the SVN repository. This is shown
in the following panel:
project layout*.
* Check *Use Subversion recommended layout ('trunk', 'branches' and 'tags')* check box.
|
The panel should be as illustrated in the following panel:
indent |
---|
|
!setupWarTemplate028.jpg!
|
When satisfied that everything is correct, click Next.
Nothing to do here. This is an information panel similar to the following panel:
indent |
---|
|
!setupWarTemplate030.jpg!
|
When satisfied that everything is correct, click Finish.
When a panel similar to the one below is display, enter a comment.
This is the initial SVN check-in (svn commit) for the WAR project:
indent |
---|
|
!setupWarTemplate024setupWarTemplate032.jpg!
|
Don't forget to enter your User name and Password,When satisfied that everything is correct, click
Finish OK.
When the
following panel is display notifying you that a new SVN entry will be created: SVN commit has completed, the Eclipse - Project Explorer View should look similar to the following.
indent |
---|
|
!setupWarTemplate026setupWarTemplate034.jpg!
|
When satisfied that everything is correct, click OK.
Do the following:
Creating the project war component using the war-template is now complete.
Panel |
---|
Anchor |
---|
| Customizing the project WAR |
---|
| Customizing the project WAR |
---|
|
Section 2: Customizing the project WAR
* In{color:red}Please read the [* | Advanced Modesection,select#overview] before continuing.{color}
|
Run Eclipse. From the Project Explorer View, open the Maven WAR project that you want to customize. Your Project Explorer View should look similar to the following: indent |
---|
| !customizeWar002.jpg!
|
Expand your project, then expand src/main/resources. Your Project Explorer View should look similar to the following *Use project name*.
* In the *Project Repository Layout* section, select *Use single project layout*.
* Check *Use Subversion recommended layout ('trunk', 'branches' and 'tags')* check box.
The panel should be as illustrated in the following panel: indent |
---|
|
!setupWarTemplate028customizeWar004.jpg!
| When satisfied that everything is correct, click Finish. Nothing to do here. This is an information panel similar to the following panel:
indent |
---|
2 | 2 |
!setupWarTemplate030.jpg!
| When satisfied that everything is correct, click Finish. When a panel similar to the one below is display, enter a comment. This is the initial SVN check-in (svn commit) for the WAR project:
indent |
---|
2 | 2 |
!setupWarTemplate032.jpg!
| When satisfied that everything is correct, click OK. When the SVN commit has completed, the Eclipse - Project Explorer View should look similar to the following.
indent |
---|
2 | 2 |
!setupWarTemplate034.jpg!
|
Installation of the project war component using the war-template is now complete. |
Panel |
---|
Anchor |
---|
Customizing the project WAR | Customizing the project WAR | Customizing the project WAR
...
!customizeWar002.jpg!
...
!customizeWar004.jpg!
...
Open the applicationContext-projectName-config.xml for editing and change the following lines substituting your short project acronym for projectName. There are 6 occurances of projectNamethat have to be changed. Code Block |
---|
<value>file:${user.dir}/projectName/projectName.properties</value>
<value>file:${user.home}/projectName.properties</value>
<value>file:${user.dir}/projectName/projectName.properties</value>
<value>file:${user.home}/projectName.properties</value>
|
When you have made all the changes, the lines you have changed should look similar to the following: Code Block |
---|
<value>file:${user.dir}/att/att.properties</value>
<value>file:${user.home}/att.properties</value>
<value>file:${user.dir}/att/att.properties</value>
<value>file:${user.home}/att.properties</value>
|
In the above example, my short project acronym was att so I replaced projectName with att and ProjectName with Att. When you are satisifed with the changes, save and close the file. - Open the log4j.xml for editing and change the following lines substituting your short project acronym for projectName.
For Tomcat 7 implementations: There are 4 occurances of projectNamethat have to be changed. Code Block |
---|
<param name="File" value="${logs.dir}/projectName/projectName.log" />
<param name="File" value="${logs.dir}/projectName/hbn-projectName.log" />
|
When you have made all the changes, the lines you have changed should look similar to the following: Code Block |
---|
<param name="File" value="${logs.dir}/att/att.log" />
<param name="File" value="${logs.dir}/att/hbn-att.log" />
|
In the above example, my short project acronym was att so I replaced projectName with att and ProjectName with Att. For OC4J implementations: Replace ${logs.dir}/projectName with log and the 2 remaining occurances of projectNamehave to be changed.
|
...
...
...
...
...
${logs.dir}/projectName/projectName.log" />
<param name="File" value="${logs.dir}/projectName/hbn-projectName.log" />
|
When you have made all the changes, the lines you have changed should look similar to the following: Code Block |
---|
<param name="File" value="log/att.log" />
<param name="File" value="log/hbn-att.log" />
|
In the above example, my short project acronym was att so I replaced projectName with att and ProjectName with Att.
When you are satisifed with the changes, save and close the file.
Open the applicationContext-projectName.xml for editing and change the following lines substituting your short project acronym for projectName. There are 3 occurances of projectNamethat have to be changed. Code Block |
---|
<import resource="classpath*:applicationContext-projectName-component-scan.xml" />
<import resource="classpath*:applicationContext-projectName-config.xml" />
<import resource="classpath*:applicationContext-projectName-security-spring.xml" />
|
When you have made all the changes, the lines you have changed should look similar to the following: Code Block |
---|
<import resource="classpath*:applicationContext-att-component-scan.xml" />
<import resource="classpath*:applicationContext-att-config.xml" />
<import resource="classpath*:applicationContext-att-security-spring.xml" />
|
In the above example, my short project acronym was att so i replaced projectName with att.*
|
...
Code Block |
---|
<bean id="attWebMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="hibernateCsfAttMappingResources">
<bean id="attNameWebMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="hibernateCsfAttMappingResources">
<bean id="hibernateMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="attWebMappingResources">
<value>file:${user.home}/att.properties</value>
<value>file:${user.home}/att.properties</value>
|
...
. When you are satisifed with the changes, save and close the file. Open the
|
...
servlet.xml for editing and change the following lines substituting your short project
|
...
acronym for projectName. There
|
...
is 1 occurance of projectNamethat
|
...
...
<context:component-scan base-package="edu.mit.projectName.web">
|
When you have made
|
...
...
...
line you have changed should look similar to the following:
|
...
...
base-package="edu.mit.att.web">
|
In the above example,
|
...
my short project acronym was att so I replaced projectName with att.*. When you are satisifed with the changes, save and close the file.
|
...
From the Project Explorer View, rename each of the following files, substituting your short project acronym for projectName. There are
|
...
...
...
applicationContext-projectName-component-scan.xml
applicationContext-projectName-config.xml
applicationContext-projectName-security-spring.xml
applicationContext-projectName.xml
|
When you have made all the changes, the
|
...
file names that you have changed should look similar to the following:
|
...
applicationContext-att-component-scan.xml
applicationContext-att-config.xml
applicationContext-att-security-spring.xml
applicationContext-att.xml
|
In the above example,
|
...
my short project acronym was att so I replaced projectName with att.*. Your Project Explorer Viewshould look similar to the following: indent |
---|
| !customizeWar006.jpg!
|
In the Project Explorer View, expand src/main/java. Rename the
|
...
package, substituting your short project acronym for projectName. Your Project Explorer Viewshould look similar to the following
|
...
: indent |
---|
| !customizeWar008.jpg! |
|
...
...
Project Explorer View, expand src/test/resources. Open the applicationContext-csf-unit-tests-default.xml for editing and change the following lines substituting your project name for projectName. There are
|
...
3 occurances of projectNamethat have to be
|
...
...
<import resource="classpath*:applicationContext-csf-projectName.xml" />
<import resource="classpath*:applicationContext-projectName.xml" />
<import resource="classpath*:applicationContext-projectName-config-test.xml" />
|
When you have made all the changes, the
|
...
lines you have changed should look similar to the following:
|
...
<import resource="classpath*:applicationContext-csf-att.xml" />
<import resource="classpath*:applicationContext-att.xml |
|
...
!customizeWar006.jpg!
...
" />
<import resource="classpath*:applicationContext-att-config-test.xml" />
|
In the above example, my short project acronym was att so I replaced projectName with att.*. When you are satisifed with the changes, save and close the file.
|
...
In the Project Explorer View, expand src/test/resources. Open the applicationContext-projectName-config-test.xml for editing and change the following lines substituting your project name for projectName. There are 2 occurances of projectNamethat have to be changed.
|
...
<value>classpath:projectName-test.properties</value>
|
|
...
<value>classpath:projectName-test.properties</value>
|
When you have made all the changes, the lines you have changed should look similar to the following:
|
...
<value>classpath:att-test.properties</value>
|
|
...
<value>classpath:att-test.properties</value>
|
In the above example,
|
...
my short project acronym was att so I replaced projectName with att.*. When you are satisifed with the changes, save and close the file. From the Project Explorer View, rename the following file, substituting your short project
|
...
acronym for projectName. There
|
...
are 2 files that have to be renamed.
|
...
applicationContext-projectName-config-test.xml
projectName-test.properties
|
When you have made all the changes, the file names that you have changed should look similar to the following:
|
...
applicationContext-att-config-test.xml
att-test.properties
|
In the above example,
|
...
my short project acronym was att so I replaced projectName with att.*. - In the Project Explorer View, expand src/main/webapp/WEB-INF.
Open the web.xml for editing and change the following lines substituting your short project
|
...
...
<display-name>projectName</display-name>
|
|
...
classpath*:applicationContext-csf-projectName.xml,
|
|
...
classpath*:applicationContext-projectName.xml
|
|
...
<servlet-name>projectName</servlet-name>
|
|
...
<servlet-name>projectName</servlet-name>
|
|
...
<servlet-name>projectName</servlet-name>
|
|
...
...
<display-name>att</display-name>
|
|
...
classpath*:applicationContext-csf-att.xml, |
|
...
classpath*:applicationContext-att.xml |
|
...
<servlet-name>att</servlet-name>
<servlet-name>att</servlet-name>
|
|
...
<servlet-name>att</servlet-name>
|
|
...
<servlet-name>att</servlet-name>
|
|
...
In the above example, my short project acronym was att so I replaced projectName with att.*. Find the following line and change MitsisDSfor your project's JNDI name. Code Block |
---|
<res-ref-name>jdbc/MitsisDS</res-ref-name>
|
When you are satisifed with the changes, save and close the file.
- Commit all changes to the SVN repository.
Customizing the project WAR is now complete. |
Panel |
---|
Anchor |
---|
| Customizing the project WAR pom.xml |
---|
| Customizing the project WAR pom.xml |
---|
|
Section 3: Customizing the project WAR pom.xmlWAR pom.xmlindent |
---|
| {color:red}Please read the [*OVERVIEW* | #overview] before continuing.{color}
|
Run Eclipse. From the Project Explorer View, open the Maven WAR project that you want to customize. Expand your project and open the project's pom.xml for editing. Select the pom.xml tab. You should have a display similar to the following : panel. From time to time the war-template is updated and, as a result, the Configuration Instructionsare changed. The instructions found in the pom.xml will ALWAYS be up-to-date and may differ from what is display in the panel below. Follow the Configuration InstuctionsInstructions that are provided in the pom.xml. When you are satisfied with the changes that you have made, save the changes and close the file.- Commit the changes to the SVN repository.
Customizing the project WAR pom.xml have made, save the changes and close the file. - Commit the changes to the SVN repository.
Customizing the project WAR pom.xml is now complete. |
Panel |
---|
Anchor |
---|
| One final thing to do |
---|
| One final thing to do |
---|
|
Section 4: One final thing to doThere may have been changes made to the WAR template that are not reflected in the above documentation. The final task that must be done is to search the entire project for any occurance of projectName. Open any file that contain projectName for editing and change projectName to your short project acronym. One final thing to do is now complete. |