`

Eclipse+Maven快速生成Web项目,解决部署时Maven lib依赖问题

阅读更多
用Maven开发做了很久了,用Eclipse做开发就更久了。自打用Eclipse开发Web项目,就一直用着Eclipse的WTP,离开了WTP的Server,就超级不习惯。虽然Maven已经3.0时代了,虽然Maven For Eclipse的插件也做了很久了,但还是不够好用,兼容做的不够好。

接下来,我们通过简单配置,解决wtp发布工程时,对于Maven的Lib依赖!

通过mvn命令的方式产生wtp的eclipse项目的方法,我已经尝试过了,还不如新建Dynamic Web Project,然后将其转化为Maven Project

新建Dynamic Web Project,选择源代码路径时,与Maven Project保持一致,删除原有src目录,直接建立 src/main/javasrc/main/resourcessrc/test/javasrc/test/resources目录。同时,指定输出目录为target/class

全部目录:


构建Web Module时,调整下Content directory,与Maven Webapp项目保持一致。


这时目录结构如下:


转化Maven Project时,要注意Packaging选为war


调整测试源代码输出路径:


如果你跳过了上面的步骤已经建立的web项目,但想引用Maven的Lib怎么办?

选中Maven Dependencies


最后得到这个结果:


或者直接修改.classpath文件,找到<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
替换为:
	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
		<attributes>
			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
		</attributes>
	</classpathentry>

也是一样的效果!
随便写个页面,在eclipse运行server:


搞定!
这基本上不费什么力气,比用mvn eclipse:eclipse –Dwtpversion=2.0的种种方便多了。


备注我使用的插件:
GEF
m2e
m2e-extras

m2e-extras选择时,一定要装WTP跟Extras,必选!
  • 大小: 104.1 KB
  • 大小: 147.8 KB
  • 大小: 41.2 KB
  • 大小: 50.2 KB
  • 大小: 49.5 KB
  • 大小: 38.8 KB
  • 大小: 71.1 KB
  • 大小: 51.9 KB
  • 大小: 42.8 KB
  • 大小: 49.7 KB
  • 大小: 50.3 KB
  • 大小: 151.6 KB
  • 大小: 138.3 KB
  • 大小: 40 KB
  • 大小: 154.6 KB
11
7
分享到:
评论
14 楼 zz19900911 2012-12-03  
  
牛B啊,解决了所有的难题,尤其是MAVEN的配置问题,太烦人了
13 楼 snowolf 2012-08-17  
huihuilou 写道
kjj 写道
snowolf 写道
kjj 写道
不能解决项目互相依赖时,其他项目的classes加入主项目的classpath中

我一般把依赖项目的jar发布到nexus上。。。

那样当然好,有些项目依赖需要实时修改,这样很难适用啊

Hey,使用maven,install到本地可以解决本地多个工程的互相依赖,deploy到nexus库,是多项目之间包的依赖。只需要执行这一步,就解决了实时修改的问题。可以说正因为要实时修改,才这样管理依赖呀。对吗?

huihuilou 写道
kjj 写道
snowolf 写道
kjj 写道
不能解决项目互相依赖时,其他项目的classes加入主项目的classpath中

我一般把依赖项目的jar发布到nexus上。。。

那样当然好,有些项目依赖需要实时修改,这样很难适用啊

Hey,使用maven,install到本地可以解决本地多个工程的互相依赖,deploy到nexus库,是多项目之间包的依赖。只需要执行这一步,就解决了实时修改的问题。可以说正因为要实时修改,才这样管理依赖呀。对吗?

如果项目都在本地,install就行,如果团队作业,就需要发布到nexus。你说嘞!
12 楼 huihuilou 2012-08-17  
kjj 写道
snowolf 写道
kjj 写道
不能解决项目互相依赖时,其他项目的classes加入主项目的classpath中

我一般把依赖项目的jar发布到nexus上。。。

那样当然好,有些项目依赖需要实时修改,这样很难适用啊

Hey,使用maven,install到本地可以解决本地多个工程的互相依赖,deploy到nexus库,是多项目之间包的依赖。只需要执行这一步,就解决了实时修改的问题。可以说正因为要实时修改,才这样管理依赖呀。对吗?
11 楼 kjj 2012-08-10  
snowolf 写道
kjj 写道
不能解决项目互相依赖时,其他项目的classes加入主项目的classpath中

我一般把依赖项目的jar发布到nexus上。。。

那样当然好,有些项目依赖需要实时修改,这样很难适用啊
10 楼 snowolf 2012-08-10  
kjj 写道
不能解决项目互相依赖时,其他项目的classes加入主项目的classpath中

我一般把依赖项目的jar发布到nexus上。。。
9 楼 kjj 2012-08-10  
不能解决项目互相依赖时,其他项目的classes加入主项目的classpath中
8 楼 free0007 2012-08-10  
不错 
7 楼 snowolf 2012-08-10  
huihuilou 写道
m2e
m2eclipse-wtp
m2e-extras
三个插件安装好后,就不用这么麻烦了。这才是方向。

是嘛?我试试,孤落寡闻了!
6 楼 huihuilou 2012-08-10  
m2e
m2eclipse-wtp
m2e-extras
三个插件安装好后,就不用这么麻烦了。这才是方向。
5 楼 snowolf 2012-08-09  
jinnianshilongnian 写道
snowolf 写道
jinnianshilongnian 写道
这种方式就不能利用maven生命周期,

如native2ascii

native2ascii,早些时候用ant打包,遇到Properties的时候,常用这个。。。不过现在有了PropertiesEdit的插件,就无所谓了!自动转码!

嗯 也是,不过想利用maven生命周期中的东西就不行了,加入idea阵营吧,强烈欢迎你,你会爱上它的  

IDEA。。。。我去瞅瞅看。。。
4 楼 jinnianshilongnian 2012-08-09  
snowolf 写道
jinnianshilongnian 写道
这种方式就不能利用maven生命周期,

如native2ascii

native2ascii,早些时候用ant打包,遇到Properties的时候,常用这个。。。不过现在有了PropertiesEdit的插件,就无所谓了!自动转码!

嗯 也是,不过想利用maven生命周期中的东西就不行了,加入idea阵营吧,强烈欢迎你,你会爱上它的  
3 楼 snowolf 2012-08-09  
jinnianshilongnian 写道
这种方式就不能利用maven生命周期,

如native2ascii

native2ascii,早些时候用ant打包,遇到Properties的时候,常用这个。。。不过现在有了PropertiesEdit的插件,就无所谓了!自动转码!
2 楼 jinnianshilongnian 2012-08-09  
这种方式就不能利用maven生命周期,

如native2ascii
1 楼 jinnianshilongnian 2012-08-09  
赶紧加入idea阵营吧 

相关推荐

    java开发crm项目源码-BOS:基于SSH框架的BOS物流管理系统,eclipse+maven+svn+powerdesigner

    本次项目由两部分组成,bos-web项目运行时调用了bos_crm的服务,它们是两个独立的web项目。其中bos_crm不是maven项目,依赖包点击,放至WEB-INF/lib下。项目运行成功后,通过如localhost:8080/bos-web/login形式访问...

    jsp+servlet+mysql开发java web旅游网站,有后台管理系统

    1.json-lib的maven依赖jar包下载失败,请添加&lt;classifier&gt;jdk15 或者直接导入百度网盘的jar包 2.前台和后台都是html模板,然后通过jquery ajax获取数据渲染,没有jsp技术 3.前台大部分页面是静态的模板内容,有交互的...

    maven的优缺点 项目

    如果是web项目,会将依赖的项目打成一个jar包,放到web-inf/lib中 特别的图 创建完以后如下图: 添加依赖 5.搭建ssm 5.1.创建数据库 5.2.创建项目:确定项目可以在tomcat上运行 5.3.添加Spring 添加jar包 添加...

    Maven2使用项目开发规范说明.doc

    《Maven2使用项目开发规范说明》,图文并茂,详细介绍了使用 Maven2 开发一个规范项目的流程。 目录: 1. 环境配置 3 1.1. 配置Maven2 3 1.2. 配置Eclipse环境变量MIA_LIB 4 1.3. 安装Maven2 的eclipse plugin 4 2. ...

    ssm整合quartz定时任务实现动态增删改查,暂停任务,恢复任务

    ssm整合quartz 并持久化到数据库中,...jdk5+tomcat7+mysql+eclipse+maven lib jar包下载地址 地址1:链接:https://pan.baidu.com/s/1d3TveY 密码:g1t1 地址2:链接: https://pan.baidu.com/s/1dGoUgJv 密码: m7qx

    JPABasis:具有Eclipse Link和HSQLDB的Maven + Eclipse + JPA

    JPA基础 带有Eclipse Link和HSQLDB的Gradle + Eclipse + JPA HSQLDB数据库设置: 从hsqldb.org下载并解压缩hsqldb 使用版本hsqldb_1_8_1_3 ... 要求Gradle解决依赖关系:gradle build 运行主类:App

    ssm整合quartz定时任务实现动态增删改查,暂停任务,恢复任务lib jar包下载

    ssm整合quartz 并持久化到数据库中,实现动态增删改查,暂停任务,恢复任务等 将链接内的target文件直接放到项目ssmquartztest文件夹下 运行环境: ...jdk5+tomcat7+mysql+eclipse+maven lib jar包下载

    ExampleMavenProject:使用 Maven 的示例 Java 项目

    示例 Maven 项目 这是 Maven 项目的一个示例。 产生 转换为 Eclipse 项目: &gt;&gt; mvn eclipse:eclipse 建造 构建(和测试)这个项目: &gt;&gt; mvn install 通过在安装时添加-DskipTests标志或将POM.xml文件中的${...

    maven 2.1.0

    1. 在项目根目录下,写一个ant文件,把常用命令列出来 ...arg line="/c maven update-lib"/&gt; &lt;/exec&gt; &lt;/target&gt; &lt;/project&gt; 2. 使用eclipse的ant view,可以看到并执行上面的命令

    配置文件Maven

    Maven在Eclipse配置文件 Maven的安装 jdk等安装 现在的软件项目的开发绝对不可能自己从头写到尾,因为在这之中需 要引入大量的第三方开发工具包,而对于这些开发包的引用,最初的做 法:下载下来*.jar文件,而后在...

    jax_rs_demo:在 Eclipse、Maven、Tomcat7 上使用 JAX-RS 的快速测试演示

    在 Eclipse、Maven、Tomcat7 上使用 JAX-RS 进行快速测试/演示 先决条件 apt-get install tomcat7 maven 建造 git clone https://github.com/atramos/jax_rs_demo.git cd jax_rs_demo/jax_rs_demo mvn install 在...

    JFinal Weixin 是基于 JFinal 的微信公众号极速开发 SDK,只需浏览 Demo 代码即可进行极速开发

    将项目导入eclipse jee中,使用 export 功能导出 war包,其中的 WEB-INF/lib 下面会自动生成 jar 包 让使用 maven 的朋友使用 mvn package 打出 war包,其中的 WEB-INF/lib 下面会自动生成 jar 包 以上两种方法注意...

    Think in Java源码Maven工程(内附原始代码)

    编译Think in java 源代码 1.下载源码,按要求安装编译环境 2.执行Eclipse.py,初始化java代码 3.使用maven工程编译 ...5.新建lib目录,将tools.jar、javaw.jar拷贝至lib目录,工程内引入缺少的jar包 6.排错、编译

    gradle多模块开发项目实例

    所以最终打包项目时,core应打成一个jar包,而web模块引用(依赖)core模块,对于web的java类也打起一个jar包,这两个jar包最后是放在lib包下面再打成war包.项目的主要结构如下: testweb core src main java test ...

    尚筹网项目中遇到的错误,问题.docx

    15.idea加载一个新项目,第一需要调出右侧maven导航条,更新下maven,第二需要在artifact那边的lib里增加maven依赖。这样才能保证依赖和包齐全,项目才能正常运行。这是狂神教的 16.eclipse里边的project相当于idea...

    Java开发一款灵活且易扩展的网站内容管理系统.zip

    本源码包采用maven结构,和普通eclipse的web项目结构不一样,且不包含lib目录下的第三方jar包。 环境要求 JDK8。 Servlet3.0或更高版本(如Tomcat7或更高版本)。 MySQL5.5或更高版本(如需使用MySQL5.0,可将mysql...

    PM_MyBatis:Maven + MyBatis + servlet + EasyUI + Oracle完成的一个员工信息管理系统(初级)

    net.sf.json-lib json-lib 2.4 system E:\ eclipse_works \ javaEE \ PM_MyBatis \ src \ main \ webapp \ WEB-INF \ lib \ json-lib-2.2.3-jdk15.jar依赖完成之后发现又报错的,于是把相关的jar包都依赖进来:...

    commons-io-2.2.jar必须依赖包.rar

     6、在打开的窗口中,我们依次展开本项目的项目和lib文件夹,然后选中我们刚才复制到项目中的jar包,然后点击【OK】关闭窗口  7、此时,我们在刚才打开的【Libraries】页中可以看到我们引入的jar包的名称。点击...

    第一个spring IOC例子(非maven)

    3、在eclipse新建一个Java project,在目录下新建lib文件夹将上述几个jar放进lib,然后buila path 引入 4、敲代码,写interface和两个implemetation,新建person类,新建applicationContext.xml,建立person和hello...

    connect-1.3.0-all-in-one

    # 拷贝lib目录下所有的jar包至Q项目WebRoot(或叫WebContent)/WEB-INF/lib下(servlet-api-2.5.jar如果容器已经包含就不必添加) ===在项目中添加Maven依赖=== &lt;code language="xml"&gt;&lt;dependency&gt;&lt;/code&gt; ...

Global site tag (gtag.js) - Google Analytics