轉:https://my.oschina.net/zimingforever/blog/266191
maven打包的時候默認是不加入依賴的jar包的,所以想打出一個獨立的可運行jar包的話直接mvn clean install package是不行的。需要略改動下pom文件榨为,加入如下plugin
<pre>
<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>
</pre>
maven打包的時候有些jar包是不在mavencenter的外厂。需要在pom中引入相關的本地jar包极谊,那么相關的depency應該像如下更改
<pre>
<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>
</pre>
對于war包系統(tǒng)來說吐限,有時候需要把jar包打到相關的war包中澡为,可以使用plugin,默認將lib下的所有jar文件打包到WEB-INF/lib下摸屠。當然也是可以打包其他的文件的谓罗,諸如xml,properties等的。相關的plugin如下:
<pre>
<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>
</pre>