-
Notifications
You must be signed in to change notification settings - Fork 66
/
pom.xml
176 lines (157 loc) · 9.03 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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.zfoo.tank</groupId>
<artifactId>tank-game-server</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<!-- 没有用<dependencyManagement>来管理这个root,是为了让下面的module不依赖于任何parent,复制出来就可以用 -->
<!-- 聚合,把下面的几个module一起打包,packaging必须为pom -->
<modules>
<module>common</module>
<module>admin</module>
<module>gateway</module>
<module>home</module>
<module>cache</module>
<module>room</module>
<module>push</module>
<module>login</module>
<module>zfoo-branch-for-tank</module>
<module>single</module>
<module>single-boot</module>
<module>zfoo-graalvm-asimple</module>
<module>zfoo-graalvm-event</module>
<module>zfoo-graalvm-storage</module>
<module>zfoo-graalvm-scheduler</module>
<module>zfoo-graalvm-orm</module>
<module>zfoo-graalvm-protocol</module>
<module>zfoo-graalvm-net</module>
</modules>
<properties>
<zfoo.version>3.3.2</zfoo.version>
<!-- spring and spring boot -->
<spring.version>6.1.6</spring.version>
<spring.boot.version>3.2.5</spring.boot.version>
<junit.version>4.13.2</junit.version>
<!-- bytecode enhancement -->
<javassist.version>3.30.2-GA</javassist.version>
<bytebuddy.version>1.14.14</bytebuddy.version>
<!-- network framework -->
<netty.version>4.1.109.Final</netty.version>
<!-- zookeeper -->
<curator.version>5.6.0</curator.version>
<!-- hardware detection -->
<oshi.version>6.6.0</oshi.version>
<!-- Office document parsing -->
<poi.version>5.2.3</poi.version>
<csv.version>1.10.0</csv.version>
<!-- maven core plugin -->
<native-maven-plugin.version>0.10.1</native-maven-plugin.version>
<maven-clean-plugin.version>3.3.1</maven-clean-plugin.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>3.1.2</maven-surefire-plugin.version>
<maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
<maven-shade-plugin.version>3.5.0</maven-shade-plugin.version>
<maven-install-plugin.version>3.1.1</maven-install-plugin.version>
<!-- deploy maven repository -->
<nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
<maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version>
<maven-source-plugin.version>3.3.0</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.5.0</maven-javadoc-plugin.version>
<maven-gpg-plugin.version>3.1.0</maven-gpg-plugin.version>
<versions-maven-plugin.version>2.16.0</versions-maven-plugin.version>
<!-- encoding and java version -->
<project.build.sourceEncoding>${file.encoding}</project.build.sourceEncoding>
<maven.compiler.encoding>${file.encoding}</maven.compiler.encoding>
<java.version>17</java.version>
<file.encoding>UTF-8</file.encoding>
</properties>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<plugins>
<!-- 清理插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>${maven-clean-plugin.version}</version>
</plugin>
<!-- 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${file.encoding}</encoding>
</configuration>
</plugin>
<!-- 为了使项目结构更为清晰,Maven区别对待Java代码文件和资源文件,maven-compiler-plugin用来编译Java代码,maven-resources-plugin则用来处理资源文件。-->
<!-- 默认的主资源文件目录是src/main/resources,很多用户会需要添加额外的资源文件目录,这个时候就可以通过配置maven-resources-plugin来实现。
资源文件过滤也是Maven的一大特性,你可以在资源文件中使用${propertyName}形式的Maven属性,然后配置maven-resources-plugin开启对资源文件的过滤,
之后就可以针对不同环境通过命令行或者Profile传入属性的值,以实现更为灵活的构建。-->
<!-- resource资源管理插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<encoding>${file.encoding}</encoding>
<!-- 指定resources插件处理资源文件到哪个目录下 -->
<outputDirectory>${project.build.directory}/resource</outputDirectory>
<!-- 也可以用下面这样的方式(指定相对url的方式指定outputDirectory) <outputDirectory>target/classes</outputDirectory> -->
<resources>
<resource>
<!-- 指定resources插件处理哪个目录下的资源文件 -->
<directory>src/main/resources/</directory>
<!-- 指定不需要处理的资源 <excludes> <exclude>WEB-INF/*.*</exclude> </excludes> -->
<!-- 是否对待处理的资源开启过滤模式 (resources插件的copy-resources目标也有资源过滤的功能,这里配置的
这个功能的效果跟<build><resources><resource>下配置的资源过滤是一样的,只不过可能执行的阶段不一样,
这里执行的阶段是插件指定的validate阶段,<build><resources><resource>下的配置将是在resources插件的resources目标执行时起作用(在process-resources阶段)) -->
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<!-- 测试插件 -->
<!-- forkMode 可设置值有 “never”, “once”, “always” 和 “pertest”。
once:在一个进程中进行所有测试。once为默认设置,在Hudson上持续回归时建议使用默认设置。
pretest: 每一个测试创建一个新进程,为每个测试创建新的JVM是单独测试的最彻底方式,但也是最慢的,不适合hudson上持续回归。
always:在一个进程中并行的运行脚本,Junit4.7以上版本才可以使用,surefire的版本要在2.6以上提供这个功能
threadCount:执行时,指定可分配的线程数量。 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<threadCount>10</threadCount>
<argLine>-Dfile.encoding=${file.encoding}</argLine><!--argLine传入JVM选项-->
<!--<skipTests>true</skipTests>-->
</configuration>
</plugin>
<!--mvn versions:display-plugin-updates,查看最新的插件包-->
<!--mvn versions:display-dependency-updates,查看最新的依赖包-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-maven-plugin.version}</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
</plugins>
</build>
</project>