maven打包的時候默認是不加入依賴的jar包的,因此想打出一個獨立的可運行jar包的話直接mvn clean install package是不行的。須要略改動下pom文件,加入以下pluginjava
<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應該像以下更改web
<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以下:apache
<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>