发布网友
共1个回答
热心网友
现在一般都使用Maven来管理工程,包括依赖的jar包,依赖的jar包,只需要在pom.xml的元素中添加项,每一个项都是一个依赖的jar包。
当开发完之后,需要打包成可执行的jar包,那么在eclipse中如何使用Maven打包呢,并且包含POM.xml中依赖的jar包?两个步骤:
在项目的POM.xml文件中添加maven-assembly-plugin插件,如下:
<build>其中mainClass是你项目的入口main函数所在的类。
然后[右键]项目,选择[Run As]或[Debug As]的[Maven build …]后,在弹出的[Edit Configuration]的[Goals]填写assembly:assembly后,点击[Run],这样便会在项目下的[target]文件夹中生成两个jar文件,一个xxx.jar与xxx-jar-with-dependencies.jar, xxx便是你在创造Maven项目时的artifactId与version的拼接,即POM.xml文件中的与元素。这样xxx.jar便是不包含依赖的jar,xxx-jar-with-dependencies.jar便是包含依赖的jar包。
如果在终端或者shell文件中使用java命令运行,便需要运行xxx-jar-with-dependencies.jar,不然会报依赖的包不存在的错误。使用java -jar xxx-jar-with-dependencies.jar arg1, arg2 … 1>info.log 2 > err.log 运行jar包,1>info.jar表示将运行时jar包中的终端输出到info.log文件中,2>err.log表示将运行时的错误信息输出到err.log文件中。
可以参见:http://blog.csdn.net/symgdwyh/article/details/6081532
Eclipse插件Maven打包成war
在使用Maven创建java web项目时候,需要将项目打包成war包。直接[右键]项目,选择[Run As]或[Debug As]的[Maven install],这样便会在项目下的[target]文件夹中生成xxx.war文件,xxx是项目的名称。
如果该web需要在tomcat下运行,那么直接将war包拷贝到tomcat下的webapps文件夹中,这样tomcat启动时会自动解压到webapps下面,解压的文件夹名便是war的名字(不包含后缀),如果更改war文件后,重启tomcat需要先删除解压的文件夹,然后再重启tomcat,不然会是前面的代码。
如何将依赖的jar包拷贝到项目下
一、导出到默认目录 target/dependency12从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令:
1、mvn dependency:copy-dependencies或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:copy-dependencies后,点击运行;
2、maven项目所依赖的jar包会导出到targed/dependency目录中。
二、导出到自定义目录中
在maven项目下创建lib文件夹,输入以下命令:
1、mvn dependency:copy-dependencies -DoutputDirectory=lib;
2、maven项目所依赖的jar包都会复制到项目目录下的lib目录下。
三、设置依赖级别
同时可以设置依赖级别,通常使用compile级别
mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile