如何用maven的eclipse插件打包

如何用maven的eclipse插件打包,第1张

现在一般都使用Maven来管理工程,包括依赖的jar包,依赖的jar包,只需要在pomxml的元素中添加项,每一个项都是一个依赖的jar包。
当开发完之后,需要打包成可执行的jar包,那么在eclipse中如何使用Maven打包呢,并且包含POMxml中依赖的jar包?两个步骤:

项目的POMxml文件中添加maven-assembly-plugin插件,如下:

<build>  
   <plugins>
      <plugin>  
               <artifactId>maven-assembly-plugin</artifactId>  
               <configuration>  
                   <archive>  
                       <manifest>  
                           <mainClass>comheymainMain</mainClass>  
                       </manifest>  
                   </archive>  
                   <descriptorRefs>  
                       <descriptorRef>jar-with-dependencies</descriptorRef>  
                   </descriptorRefs>  
               </configuration>  
           </plugin>
   </plugins>  </build>123456789101112131415161718

其中mainClass是你项目的入口main函数所在的类。

然后[右键]项目,选择[Run As]或[Debug As]的[Maven build …]后,在d出的[Edit Configuration]的[Goals]填写assembly:assembly后,点击[Run],这样便会在项目下的[target]文件夹中生成两个jar文件,一个xxxjar与xxx-jar-with-dependenciesjar, xxx便是你在创造Maven项目时的artifactId与version的拼接,即POMxml文件中的与元素。这样xxxjar便是不包含依赖的jar,xxx-jar-with-dependenciesjar便是包含依赖的jar包。

如果在终端或者shell文件中使用java命令运行,便需要运行xxx-jar-with-dependenciesjar,不然会报依赖的包不存在的错误。使用java -jar xxx-jar-with-dependenciesjar arg1, arg2 … 1>infolog 2 > errlog 运行jar包,1>infojar表示将运行时jar包中的终端输出到infolog文件中,2>errlog表示将运行时的错误信息输出到errlog文件中。

可以参见:>

Eclipse插件Maven打包成war

在使用Maven创建java web项目时候,需要将项目打包成war包。直接[右键]项目,选择[Run As]或[Debug As]的[Maven install],这样便会在项目下的[target]文件夹中生成xxxwar文件,xxx是项目的名称。
如果该web需要在tomcat下运行,那么直接将war包拷贝到tomcat下的webapps文件夹中,这样tomcat启动时会自动解压到webapps下面,解压的文件夹名便是war的名字(不包含后缀),如果更改war文件后,重启tomcat需要先删除解压的文件夹,然后再重启tomcat,不然会是前面的代码。

如何将依赖的jar包拷贝到项目下

一、导出到默认目录 target/dependency12

从Maven项目中导出项目依赖的jar包:进入工程pomxml 所在的目录下,执行如下命令:
1、mvn dependency:copy-dependencies或在eclipse中,选择项目的pomxml文件,点击右键菜单中的Run As,见下图红框中,在d出的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

1 创建maven项目
2 在项目名称上点击鼠标右键选择 属性
在左侧列表中 找到 Deployment Assenbly 添加 maven Dependencies 到 WEB-INF/lib 一项
3 在pom文件中填写你要导入的jar文件名称 及相应规则
4 保存pom文件的时候 如果一切正确 将自动下载并导入jar包 或者你手动刷新项目

sts里面引入maven项目啊 里面有import maven project,然后就可以了!! 当然你环境要配置好maven环境,同时sts也要配置好jdk和maven环境 希望能够帮到你
2

首先前提你的项目是maven项目
maven项目的目录结构中会有pomxml文件,这个文件是管理项目引包的
想要导入Spring的jar可以去远程maven仓库去查找相关的引包的声明,地址:
>原则上Maven的设计是不需要这么做的,因为pomxml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。
考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。
比如我下载了
lucene-queryparser-461jar
怎么添加到本地仓库呢?
步骤:
1cmd命令进入该jar包所在路径
2执行命令
mvn install:install-file -Dfile=lucene-queryparser-461jar -DgroupId=orgapachelucene -DartifactId=lucene-queryparser -Dversion=461 -Dpackaging=jar
(不同的jar包相对应替换对应部分)
另外我尝试了下面的方法,发现不行:
直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。
补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:
mvn install:install-file -Dfile=freemarker-2313jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2313 -Dpackaging=jar
就是安装到了repository\freemarker\freemarker\2313目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。
对于maven中存在classifier的,例如
<dependency>
<groupId>orgapachehadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>220</version>
<classifier>tests</classifier>
</dependency>
就加一个-D参数就可以了,如下:
mvn install:install-file -Dfile=hadoop-hdfs-220-testsjar -DgroupId=orgapachehadoop -DartifactId=hadoop-hdfs -Dversion=220 -Dclassifier=tests -Dpackaging=jar

如果在另一个Maven项目中引入了一个打包好的jar包,并且在运行时发现缺少jar包中所依赖的第三方库,有以下几种解决方法。

使用maven-shade-plugin插件:在打包项目的pomxml中配置maven-shade-plugin插件,让它将所有的依赖库打包进jar中。

在引入的jar包的pomxml中增加第三方库的依赖配置, 编写dependency:unpack命令,将对应的第三方库依赖解压在项目中。

使用maven-dependency-plugin来解决问题,将依赖库重新复制到本地仓库中, 并在需要使用的项目中通过maven-dependency-plugin来引入这些依赖库。

在打包好的jar中加入manifest文件,在manifest文件中配置Class-Path,将第三方库路径配置在Class-Path中,然后将这些第三方库放在同一目录下。

将jar包中的第三方库放在项目的lib目录下,然后在项目的编译打包的时候加上lib路径,这样可以保证第三方库能够被项目读取到

选择其中一种方法来实现可以根据具体的项目情况来确定,并且在解决问题的时候需要结合项目的特点进行选择

1、maven工程导入myeclipse需要先新建一个maven工程,然后在通过修改导入myeclipse中;
2、使用的工具:myeclipse;
3、步骤如下:
(1)、下载一个免安装版的apache-maven-303zip解压后,配置环境变量;新建M2_HOME填写内容为文件的存储位置,在path后面添加%M2_HOME%\bin;
(2)、编译检查环境是否配置正确:mvn
-v;
(3)、mycelipse关联安装的本地maven;
首先:修改apache-maven-303\conf\settingsxml中的<settings>节点中添加下面这句

<localRepository>D:\software\mavenFactory</localRepository>

其中“D:\software\mavenFactory”中的mavenFactory使用建立的一个空文件夹,用于存放jar包的仓库。

其次打开mycelipse:接着把刚刚添加的保存本地jar包的地址关联进myeclipse;
(4)、配置成功后下面就开始建立一个web方式的maven工程
(5)、myeclipse导入maven工程;
File----> Import --->Exsiting Projects into Workspace--->Browse选择刚刚建立的maven项目,这时导进去发现maven项目上有个小红叉,原因是还没有关联上maven;
(6)、关联myeclipse中的maven;
在项目名称上右键--->
Maven4Meclipse--->Enable Dependency
Management;这时发现项目左上角多了一个m标志。代表maven项目创建成功了;
4、注意事项:环境变量的配置要以本地的安装路径为准。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13352526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存