forked from xuyuanme/spring-backbone-spa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pom.xml
159 lines (154 loc) · 7.7 KB
/
pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<!-- For those which are not very familiar with Maven, this file is the one and only reference for the build of the project. -->
<!-- All common Java IDE are now completely integrated with it and will configure themselves automatically from this file -->
<!-- Maven use concept of convetion over configuration and this project follow all Maven conventions and this way, this configuration file is pretty light -->
<!-- One of the well known features of Maven is the dependency management which is heavily used for this project. It is an error to limit Maven to only
this usage but unfortunately, in this simple project there is little else configurations. -->
<!-- Perhaps I will do some updates sometime to demonstrate other power tools like release, profiles, specific packaging or reports. -->
<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>
<!-- Define the identification of the project, in Maven its called an artifact -->
<groupId>me.xuyuan</groupId>
<artifactId>notegg</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<!-- Define informative information on the project. There is many more informations which can be fulfilled -->
<name>Notegg Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- The build block allow to specify all specific parameters. As this project follow all Maven conventions, there is no need to configure many things. -->
<build>
<!-- Final name is an important parameter which handle the final package name. As this is a war and the war name will often indicates the web context
of the webapp, this configuration override standard final name which contains the version number to a value more stable -->
<finalName>ROOT</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
</plugins>
</build>
<!-- Maven defines by convention the main repository but it's possible to add some other here -->
<repositories>
<!-- The CloudFoundry library used in the project is not already replicated on the central Maven repository. This block add the public milestone repository
of Spring Source which contains this artifact -->
<repository>
<id>org.springframework.maven.milestone</id>
<name>Spring Maven Milestone Repository</name>
<url>http://maven.springframework.org/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<!-- The main project dependency reference -->
<dependencies>
<!-- Spring MVC 3.2 dependency, it will pull all Spring Framework by transitive dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.2.1.RELEASE</version>
</dependency>
<!-- Spring transaction management, as it's optional, it's not in transitive dependencies of Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>3.2.1.RELEASE</version>
</dependency>
<!-- Spring Data JPA 1.2 -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
<!-- Spring Security 3.1 Web, as for Spring MVC, this artifact will pull Spring Security core -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<!-- Spring Security configuration, this is an optional feature and needs to be declared explicitly -->
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-rest-webmvc</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>0.3.0.RELEASE</version>
</dependency>
<!-- Jackson JSON marshaller. Just by adding this dependecy, Spring MVC will be able to handle JSON request when HTTP header are asking for -->
<!-- <dependency> -->
<!-- <groupId>org.codehaus.jackson</groupId> -->
<!-- <artifactId>jackson-jaxrs</artifactId> -->
<!-- <version>1.9.7</version> -->
<!-- </dependency> -->
<!-- Hibernate 4.0 most common ORM framework and JPA 2 implementation -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.0.1.Final</version>
</dependency>
<!-- MySQL driver 5.1 to be able to communicate with MySQL databases -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.16</version>
</dependency>
<!-- C3P0 is a very good database connection pool manager -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<!-- Cloud Foundry runtime which able application to user CloudFoudry very easily -->
<dependency>
<groupId>org.cloudfoundry</groupId>
<artifactId>cloudfoundry-runtime</artifactId>
<version>0.8.1</version>
</dependency>
<!-- SLF4J is a common interface for logging and can be implemented with all common logging runtime. Here we load the log4j adapter and by relation,
the API itself -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<!-- Official Servlet API 2.5 which is scoped provided which means that this library is needed to compile but has not to be included in the generated
package because it's "provided" by the runtime environment -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>