Maven 项目中所依赖的jar包的导出和项目的导出

在命令行运行:mvn package
在eclipse中运行不需要加mvn,直接package 

下面方法全部都是本人亲手操作试验可行的方法:

方法一:maven-assembly-plugin(http://blog.csdn.net/defonds/article/details/43233131)

maven-assembly-plugin:插件存在一个bug,解决方法请参考上面链接

<plugin>  
    <artifactId>maven-assembly-plugin</artifactId>  
    <configuration>  
        <appendAssemblyId>false</appendAssemblyId>  
        <descriptorRefs>  
            <descriptorRef>jar-with-dependencies</descriptorRef>  
        </descriptorRefs>  
        <archive>  
            <manifest>  
                <mainClass>com.hkex.spider.Main</mainClass>  
            </manifest>  
        </archive>  
    </configuration>  
    <executions>  
        <execution>  
            <id>make-assembly</id>  
            <phase>package</phase>  
            <goals>  
                <goal>assembly</goal>  
            </goals>  
        </execution>  
    </executions>  
</plugin>  
其中<mainClass></mainClass>的值表示此工程的入口类,也就是包含main方法的类。配置完pom后可以通过执行mvn assembly:assembly命令来启动插件进行构建。构建成功后会生成jar包,这样我们就可以在命令行中通过java -jar XXX.jar来运行jar件了。 appendAssemblyId属性控制是否在生成的打包文件的文件名中包含assembly id。 descriptor属性指定maven-assembly-plugin的配置文件,execution的设置是为了将maven-assembly-plugin继承到标准的maven打包过程中,这样在运行maven-package时就会执行maven-assembly-plugin的操作,

(关于自定义打包要求见:使用assembly plugin实现自定义打包

方法二:将以来的jar包copy出来

运行:mvn dependency:copy-dependencies(mvn 插件名:goal)
<plugin>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-dependency-plugin</artifactId>
	<executions>
		<execution>
			<id>copy-dependencies</id>
			<phase>prepare-package</phase>
			<goals>
				<goal>copy-dependencies</goal>
			</goals>
			<configuration>
				<outputDirectory>${project.build.directory}/lib</outputDirectory>
				<overWriteReleases>false</overWriteReleases>
				<overWriteSnapshots>false</overWriteSnapshots>
				<overWriteIfNewer>true</overWriteIfNewer>
				<excludeTransitive>false</excludeTransitive>
               <span style="white-space:pre">			</span><stripVersion>true</stripVersion>
			</configuration>
		</execution>
	</executions>
</plugin>
copy可以的配置的项比较多,详细的请参考:copy配置
<outputDirectory>${project.build.directory}/lib</outputDirectory>中 ${project.build.directory} 是指当前工程的target目录。lib文件夹下会放置所有依赖的jar包。
excludeTransitive,表示是否不包含间接依赖的包;
stripVersion表示复制的jar文件去掉版本信息
关于该插件更详细的说明:maven-dependency-plugin插件的使用
还有一个比较笨的办法,就是到本地仓库中去找(maven dependencies中有jar包的路径 )






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值