eclipse编译maven项目
‘壹’ eclipse 创建maven项目
eclipse 创建maven项目
1.安装Maven,下载一个maven包解压,然后配置maven环境变量(配置完成后在dos窗口用mvn命令测试下)。
2.在Eclipse中安装Maven插件
3.在Eclipse中配置Maven的setting.xml,即在Preference——》Maven——》User Setting中配置(具体使用哪个setting.xml需要根据你的项目情况而定)。
4.拷贝repository包,虽然这个不是必须的,一般通过项目在线更新jar包就可以,但是如果第一次的话最好是拷贝,因为一般项目都会比较大,jar包也会很多很多,在线下载的话会很慢。
二、引入和安装Maven项目
如果第一步操作成功的话,你就可以在import窗口里面看到Maven的选项了,选择Import a exsiting Maven project 就行,前提是你先把Maven项目从版本库中down下来。
如果你引入的这个项目A被别的Maven项目B引用了,那么我们最好是让项目B直接使用本地的项目A,而不是从repository中寻找对应项目A的jar包。这样会避免jar包更新出问题(比如项目A经常更新,jar包可能会更新不及时)。这样的话我们就需要将我们的项目A
install到本地,install有两种方法:
1.右键项目选择Maven菜单的install即可。
2.使用命令,即将目录转换到该项目目录下,然后执行mvn clean install -Dmaven.test.skip=true即可。(推荐该方法,因为跳过了测试)
三、更新jar包
更新Maven的jar包应该是对于Maven项目最常用的操作了(因为项目一直在更新,那么jar包肯定也一直在变)。
那么对于更新Maven的jar包的方法是:右键项目选择Maven菜单下的update
project,然后在弹出框中有一个offline的选项,一般情况我们直接勾选offline(这样它之更新本地的jar包,比如上面提到的项目A的更改会更新,offline的速度很快);当然如果offline不行的话就需要取消对offline的勾选,即在线更新jar包,这样它会从远程服务器中下载最新的jar包。
更新完jar包后一定要注意修改项目的properties,要手动改下面几个地方(因为更新完jar包会自动更改这些配置):如果是java项目只需要更改1即可,web项目需要更改1,2,3.
1.将build path中的jdk版本改成你所需要的。
2.将Deployment Assembly中的自动生成的两个文件夹删除(好像是tmp和tmpwebapp),添加你的WebRoot文件夹。
3.如果你的项目有默认的别名,还需要再手动改一下Web Project Setting。
四、常见小问题
虽然在上面的几个步骤中看起来很简单,但是由于我们的maven插件不太好用,所以也会经常出一些小问题。
1.install项目失败
这个情况一般会发生在使用右键项目install的方法,因为它有一个test的过程,所以有时候会test失败,这时候我们只需要换成第二种使用install命令的方式就没问题了。
2.更新jar包失败
经常会有这样一个情况,明明都在线更新jar包了,可是jar包却还是很久以前的,然后在启动tomcat的时候总是会报ClassNotFound或者某个方法不存在的错误。
对于这种情况我们最好是找到是哪个包,然后在repository中找到这个包删掉,之后再update那么这个包就会变成最新的了。
3.项目莫名其妙的启动不了
有时候我明明都在线更新了jar包,然后还clean项目了,但是就是启动失败,仔细一瞧,problems窗口中有错误提示,有什么cycle引用,这时候一般是因为有引用本地安装的项目还有引用repository中jar包,所以可能是你repository中的jar包最新了但是你本地引用的项目没有更新,这时我的无忧做法是:
将引用到的项目全部update(记得update完后修改jdk),然后clean,然后重新install(最好使用命令方式),最后再将你的项目update然后clean,基本就没有问题了。
‘贰’ Eclipse的区别构建项目和Maven编译命令
1)命令行插件配置 用户可以在Maven命令中使用-D参数,并伴随一个参数键=参数值的形式,来配置插件的参数。 如:mvn install -Dmaven.test.skip = true 2)Eclipse中执行 install -Dmaven.test.skip = true,
‘叁’ java eclipse导入Maven,ava环境一切已设置,发现问题maven不编译。怎么处理
先让这个maven工程转换为非maven工程。方法:右键工程--maven--Disable maven nature。在当前目录下执行命令(就是有pom.xml文件的那个目录) —— mvn eclipse:clean。最后,重新转换该工程为maven工程。右键工程--- 'Configure'--- 'Convert to Maven Project'
‘肆’ 如何用eclipse写maven
下载解压Maven包
增加两个环境变量
Path : 解压目录/bin
M2_HOME: 解压目录
验证安装:
开始->运行->cmd进入命令行窗口 Mvn -v
Eclipse中的Maven设置:
Window->preferences->maven->installation->add Maven的安装目录
Maven的配置文件
全局配置文件的位置: ${maven.home}/conf/settings.xml 需拷贝到用户模式下
用户配置文件的位置:${user.home}/.m2/settings.xml
Maven库的设置:
Maven引用的jar包,都会通过网络下载添加到maven的库中,方便下次调用,默认存放的库是${user.home}/.m2/repository ,库中的数据越会来月多,存放在C盘,随着系统盘的格式化库会丢失,所以需要自定义库的位置。
下载一份包含较多jar包的maven库文件(M2repository.zip),解压并修改用户(user)配置文件<localRepository>库文件的目录</localRepository>
也可以在Window->preferences->maven->user settings ->Local Repository中修改
使用Eclipse创建Maven项目:
File->new->other..àMaven->Maven project
创建jar项目,可以选择使用maven-archetype-quickstart来创建
创建war项目,可以选择使用cocoon-archetype-webapp来创建
接着填写项目的坐标信息,maven使得项目更有层次性,利于管理
groupId:项目或者组织的唯一标志,并且配置时生成的路径也是由此生成,如org.codehaus.mojo生成的相对路径为:/org/codehaus/mojo
artifactId: 项目的通用名称
version:项目的版本
packaging: 打包的机制,如pom, jar, maven-plugin, ejb, war, ear, rar, pa
Pom.xml包含了项目的所有信息(以下不是必要信息)
项目的依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
安装Jetty插件:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.1.6.v20100715</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<webAppConfig>
<contextPath>/projectX</contextPath>
</webAppConfig>
</configuration>
</plugin>
运行Maven项目:
运行Jar项目右键->run as -> java application
运行war项目,需要使用到Tomcat
或者在pom.xml里面添加jetty的插件,在命令行窗口,
转到项目目录 输入mvn jetty:run
‘伍’ 如何在eclipse中用maven编译
在eclipse中用maven编译的方法:
在项目中的“pom.xml”文件上点击右键,在弹出的菜单中选择“Run AS”à“Maveninstall”来编译和生成项目。如下图所示:
在编译和生成过程中,可以在“Console”面板中可以看到Maven编译过程的信息,如果编译和生成成功,可以在“Console”面板看到“BUILD SUCCESS”字样。
另外,在修改pom.xml文件中的相关jar包信息时,可能由于仓库中不存在,就会出现一些错误,这时,项目编译就可能存在一些问题。此时可通过“Maven clean”选项来清除编译,然后再修改pom.xml到正确情况。再通过“Maven install”来编译和生成。
‘陆’ Eclipse中如何运行Maven项目
当jetty版本到6.×的时候改为maven管理的项目了,用了m2eclipse把源码导入到eclipse中,然后在eclipse中无法运行jetty
‘柒’ eclipse maven程序怎么运行
运行maven程序参考下面方法:
先进入tomcat目录启动tomcat,然后右键项目 run as-》run configrations:
Goals项输入:package tomcat:redeploy
Maven Runtime选择自己的maven。
然后点Run,控制台显示如下:
[plain]
[INFO] Processing war project
[INFO] Copying webapp resources [项目地]
[INFO] Webapp assembled in [3 msecs]
[INFO] Building war: 项目地址
[INFO] WEB-INF\web.xml already added, skipping
[INFO]
[INFO] <<< tomcat-maven-plugin:1.1:redeploy (default-cli) @ transition <<<
[INFO]
[INFO] --- tomcat-maven-plugin:1.1:redeploy (default-cli) @ 项目名---
[INFO] OK - Undeployed application at context path /项目名
[INFO] OK - Deployed application at context path /项目名
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.412 s
[INFO] Finished at: 时间
[INFO] Final Memory: 6M/15M
[INFO] ------------------------------------------------------------------------
这里省略很多控制台输出,出现BUILD SUCCESS 则说明部署成功,浏览器输入:localhost:8080/项目名称/。
注意:这样成功之后项目会直接打成war包,部署到tomcat下,每次build不需要重启tomcat。这样致命的缺点就是,不能调试。如果需要调试且在eclipse中启动tomcat的话。会发现右键项目没有run as server,有两种方法解决:
第一种:这时需要把项目转变成dynamic web mole。右键项目-》properties-》project facets,然后右边选中dynamic web mole。之后就会出现run as server了.
第二种:右键项目,run/debug as configrations 。不过Goals中天上【tomcat:run】。然后run就OK了,注意这里不需要提前启动tomcat。
‘捌’ 如何使用maven将源码编译成eclipse工程
1、将maven插件,直接存放到eclipse---dropins中,重启eclipse。
2、重启eclipse后,window——》Preferences中出现【Maven】选项
3、配置maven
由于maven的核心插件需要使用到jdk,而eclipse是运行在jre上的,所以需要配置maven关联jdk。
Eclipse—windows-Perferences—Maven-Installations—add-installation type 选择maven安装目录。在Installations中选择新配置的maven选项。
Eclipse—windows-Perferences—Maven—User Settings
点击Restore Defaults,没有反应但是会在C:\Users\${User}\.m2\路径下生成settings.xml文件。
‘玖’ maven工程在eclipse上编译成功,但在命令行利用maven编译指令出现语法错误
maven 添加jar的时候,在pom.xml中找到 dependencies 节点, 添加如下 :
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.11</version>
</dependency>
maven会自动去服务器上面下载所需的jar
‘拾’ eclipse的maven build有什么作用
eclipse的maven build是用来编译eclipse工程的。