maven打包的时候默认是不加入依赖的jar包的,所以想打出一个独立的可运行jar包的话直接mvn clean install package是不行的。需要略改动下pom文件,加入如下plugin
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
|
<
build
>
<
sourceDirectory
>src/main/java
sourceDirectory
>
<
plugins
>
<
plugin
>
<
groupId
>org.apache.maven.plugins
groupId
>
<
artifactId
>maven-compiler-plugin
artifactId
>
<
configuration
>
<
defaultLibBundleDir
>lib
defaultLibBundleDir
>
<
source
>1.5
source
>
<
target
>1.5
target
>
<
encoding
>UTF-8
encoding
>
configuration
>
plugin
>
<
plugin
>
<
groupId
>org.apache.maven.plugins
groupId
>
<
artifactId
>maven-jar-plugin
artifactId
>
<
configuration
>
<
archive
>
<
manifest
>
<
addClasspath
>true
addClasspath
>
<
classpathPrefix
>
classpathPrefix
>
<
mainClass
>com.xx.xx.xx
mainClass
>
manifest
>
archive
>
configuration
>
plugin
>
<
plugin
>
<
groupId
>org.apache.maven.plugins
groupId
>
<
artifactId
>maven-dependency-plugin
artifactId
>
<
executions
>
<
execution
>
<
id
>copy
id
>
<
phase
>install
phase
>
<
goals
>
<
goal
>copy-dependencies
goal
>
goals
>
<
configuration
>
<
outputDirectory
>
${project.build.directory}
outputDirectory
>
configuration
>
execution
>
executions
>
plugin
>
<
plugin
>
<
groupId
>org.apache.maven.plugins
groupId
>
<
artifactId
>maven-resources-plugin
artifactId
>
<
version
>2.2
version
>
<
configuration
>
<
encoding
>UTF-8
encoding
>
configuration
>
plugin
>
plugins
>
build
>
|
maven打包的时候有些jar包是不在mavencenter的。需要在pom中引入相关的本地jar包,那么相关的depency应该像如下更改
1
2
3
4
5
6
7
|
<
dependency
>
<
groupId
>org.wltea.ik-analyzer
groupId
>
<
artifactId
>ik-analyzer
artifactId
>
<
version
>3.2.8
version
>
<
scope
>system
scope
>
<
systemPath
>${project.basedir}/lib/ik-analyzer-3.2.8.jar
systemPath
>
dependency
>
|
对于war包系统来说,有时候需要把jar包打到相关的war包中,可以使用plugin,默认将lib下的所有jar文件打包到WEB-INF/lib下。当然也是可以打包其他的文件的,诸如xml,properties等的。相关的plugin如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<
plugin
>
<
groupId
>org.apache.maven.plugins
groupId
>
<
artifactId
>maven-war-plugin
artifactId
>
<
version
>2.3
version
>
<
configuration
>
<
warName
>${project.artifactId}
warName
>
<
webResources
>
<
resource
>
<
directory
>lib/
directory
>
<
targetPath
>WEB-INF/lib
targetPath
>
<
includes
>
<
include
>**/*.jar
include
>
includes
>
resource
>
webResources
>
configuration
>
plugin
>
|
转自:http://my.oschina.net/zimingforever/blog/266191