`
simen_net
  • 浏览: 300434 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在WTP项目中无损加入Maven依赖管理

阅读更多

现在Eclipse的最新版本是3.6,现在的WTP功能也越来越大,相比MyEclipse那个庞然大物丝毫不逊色。之前在开发过程中都是手工维 护库的依赖,由于在项目中使用到Spring、OpenJPA、Freemarker等等,尤其是其中使用到的commons包,弄得不好就是版本不对或 者找不到class,一直想用Maven进行依赖的管理。但是m2eclipse插件很难与WTP结合,使用 eclipse:eclipse建立出来的WTP项目又与WTP默认的不一致,并且在tomcat调试的时候又非常的麻烦。由于我只是想简单的使用 Maven的包依赖管理,如果有可能在把war的生成加入就最好了。考虑到这两个功能相对简单,所以尝试了在现有WTP项目中无损的加入Maven的管理 功能。下面是过程的记录,在Ubuntu10.04 Eclipse3.6中测试成功。

1、安装m2eclipse

虽然问题多多,但是毕竟可以在eclipse里面使用

2、新建WTP项目

废话不多说,上张图而已


3、新建pom.xml文件

里面加入了我常用的一些包,大家不用可以删除。重点标注部分

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.strong</groupId>
  <artifactId>MavenTest</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>3.0.4.RELEASE</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.13</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>3.0.4.RELEASE</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>3.0.4.RELEASE</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>3.0.3.RELEASE</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-web</artifactId>
      <version>3.0.3.RELEASE</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.openjpa</groupId>
      <artifactId>openjpa</artifactId>
      <version>2.0.1</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.15</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>1.4</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>3.0.4.RELEASE</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.16</version>
      <type>jar</type>
      <scope>compile</scope>
    </dependency>
  </dependencies>
<!-- =============================================== -->
  <build>
    <finalName>MavenTest</finalName>
    <directory>build</directory>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webappDirectory>WebContent</webappDirectory>
          <warSourceDirectory>WebContent</warSourceDirectory>
          <webXml>WebContent/WEB-INF/web.xml</webXml>
        </configuration>
        <version>2.1</version>
      </plugin>
    </plugins>
  </build>
<!-- =============================================== -->
</project>
 

 

4、修改项目根目录下的.project和.classpath文件

因为要把maven管理的包加入的路径中,所以手工修改内容如下:

.project   增加了标注部分

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
  <name>MavenTest</name>
  <comment></comment>
  <projects>
  </projects>
  <buildSpec>
    <buildCommand>
      <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
      <arguments>
      </arguments>
    </buildCommand>
    <buildCommand>
      <name>org.eclipse.jdt.core.javabuilder</name>
      <arguments>
      </arguments>
    </buildCommand>
    <buildCommand>
      <name>org.eclipse.wst.common.project.facet.core.builder</name>
      <arguments>
      </arguments>
    </buildCommand>
    <buildCommand>
      <name>org.eclipse.wst.validation.validationbuilder</name>
      <arguments>
      </arguments>
    </buildCommand>
<!-- ========================================= -->
    <buildCommand>
      <name>org.maven.ide.eclipse.maven2Builder</name>
      <arguments>
      </arguments>
    </buildCommand>
<!-- ========================================= -->
  </buildSpec>
  <natures>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
<!-- ========================================= -->
    <nature>org.maven.ide.eclipse.maven2Nature</nature>
<!-- ========================================= -->
  </natures>
</projectDescription>
 

.classpath  增加了标注部分

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
  <classpathentry kind="src" path="src" />
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk">
    <attributes>
      <attribute name="owner.project.facets" value="java" />
    </attributes>
  </classpathentry>
  <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0">
    <attributes>
      <attribute name="owner.project.facets" value="jst.web" />
    </attributes>
  </classpathentry>
  <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container" />
  <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container" />
<!-- ========================================= -->
  <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER" />
<!-- ========================================= -->
  <classpathentry kind="output" path="build/classes" />
</classpath>
 

 

5、完成上述步骤后,保存修改的文件然后刷新会看到库路径变化如下

可以看到Maven Dependencies被加入进来了

6、install一下

7、收工了,检查一下路径和war文件



 

分享到:
评论
4 楼 simen_net 2010-09-23  
<div class="quote_title">topolog 写道</div><div class="quote_div"><div class="quote_title">simen_net 写道</div>
<div class="quote_div">看过一些m2eclipse的资料,也许没看到正确的,也有可能是我的版本问题还是什么原因,每次install都会出现把java compile的版本改成1.4等等的问题。<br><br>我这里提出来的修改内容也是通过m2elcipse自动生成的文件然后手工修改了一些内容而来,增加了一些自定义的地方。因为我现在的项目已经非常大,而我又只想使用maven进行依赖管理和war生成,所以就简单的手工写了pom.xml,增加了自己需要的地方。<br><br>所以感谢楼上的提醒,如果真有更好的办法解决这个问题,也请留言或邮件告知,非常感谢 simen_net@tom.com</div>
<p><br><br>在pom.xml 加入下面配置,可以解决java compile的版本被改成1.4问题。<br><br>      &lt;plugin&gt;<br>          &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;<br>          &lt;configuration&gt;<br>                &lt;source&gt;1.5&lt;/source&gt;<br>                 &lt;target&gt;1.5&lt;/target&gt;<br>          &lt;/configuration&gt;<br>     &lt;/plugin&gt;<br><br>然后执行m2eclipse插件的“Update Project Configruation”</p>
<p> </p></div><br/>受教了,谢谢!!
3 楼 topolog 2010-09-22  
<div class="quote_title">simen_net 写道</div>
<div class="quote_div">看过一些m2eclipse的资料,也许没看到正确的,也有可能是我的版本问题还是什么原因,每次install都会出现把java compile的版本改成1.4等等的问题。<br><br>我这里提出来的修改内容也是通过m2elcipse自动生成的文件然后手工修改了一些内容而来,增加了一些自定义的地方。因为我现在的项目已经非常大,而我又只想使用maven进行依赖管理和war生成,所以就简单的手工写了pom.xml,增加了自己需要的地方。<br><br>所以感谢楼上的提醒,如果真有更好的办法解决这个问题,也请留言或邮件告知,非常感谢 simen_net@tom.com</div>
<p><br><br>在pom.xml 加入下面配置,可以解决java compile的版本被改成1.4问题。<br><br>      &lt;plugin&gt;<br>          &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;<br>          &lt;configuration&gt;<br>                &lt;source&gt;1.5&lt;/source&gt;<br>                 &lt;target&gt;1.5&lt;/target&gt;<br>          &lt;/configuration&gt;<br>     &lt;/plugin&gt;<br><br>然后执行m2eclipse插件的“Update Project Configruation”</p>
<p> </p>
2 楼 simen_net 2010-09-22  
看过一些m2eclipse的资料,也许没看到正确的,也有可能是我的版本问题还是什么原因,每次install都会出现把java compile的版本改成1.4等等的问题。

我这里提出来的修改内容也是通过m2elcipse自动生成的文件然后手工修改了一些内容而来,增加了一些自定义的地方。因为我现在的项目已经非常大,而我又只想使用maven进行依赖管理和war生成,所以就简单的手工写了pom.xml,增加了自己需要的地方。

所以感谢楼上的提醒,如果真有更好的办法解决这个问题,也请留言或邮件告知,非常感谢 simen_net@tom.com
1 楼 grave 2010-09-21  
回去好好看看m2eclipse吧 根本不存在你说的问题。

相关推荐

    maven的优缺点 项目

    千万不要将文档中的setting的内容全部替换到maven中的内容,要对比着修改,保留原来的; 只修改本地仓库,和下载镜像(源) 3.2.Eclipse Maven的配置 每打开一个新的工作空间,要配置一下Maven,然后再写代码 3.3.创建...

    wtp.rar_web project_wtp_wtp系统_项目管理_项目管理 java

    开源的项目管理系统web top project,代码经过整理,可以运行

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven依赖管理 (Dependency Management) 3.5.6. 站点生成和报告 (Site Generation and Reporting) 3.6. 小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1...

    maven资料大全

    Maven3培训教程.pptx MavenQuickReferenceCard.pdf MavenTheDefinitiveGuide.pdf Maven实战.pdf Maven实战——入门篇.pdf Maven学习.doc 持续集成之路——搭建Maven私服.doc 利用m2eclipse生成WTP项目.pdf

    Maven资料打包大集合

    Maven3培训教程.pdf Maven实战.pdf MavenQuickReferenceCard.pdf MavenTheDefinitiveGuide.pdf Maven学习.doc 持续集成之路——搭建Maven私服.doc 利用m2eclipse生成WTP项目.pdf

    eclipse离线安装maven插件(m2e),maven插件离线安装包

    现在eclipse的社区版都不内置maven插件了,站点在线安装实在是太痛苦了(我装了6个小时),于是急于寻找一种离线安装的办法,可是在网上又找不到对应的m2e包(我用的eclipse4.7),于是我决定将站点下的文件(很多)...

    eclipse wtp plugs 3

    eclipse wtp-R-3.0.5-20090521045405 请将文件名改为 wtp-R-3.03.fss 因为文件太大,Eclipse WTP Plugs 使用文件分割工具处理后上传的,先说明如下: 1. eclipse wtp plugs 1 ~ eclipse wtp plugs 4 是一份完整的...

    eclipse wtp plugs 2

    eclipse wtp-R-3.0.5-20090521045405 请将文件名改为 wtp-R-3.02.fss 因为文件太大,Eclipse WTP Plugs 使用文件分割工具处理后上传的,先说明如下: 1. eclipse wtp plugs 1 ~ eclipse wtp plugs 4 是一份完整的...

    在WTP 2中使用Axis 1_4 构建Web Services

    在WTP 2中使用Axis 1_4 构建Web Services

    Eclipse_wtp_tomcat

    Eclipse_wtp_tomcatEclipse_wtp_tomcatEclipse_wtp_tomcatEclipse_wtp_tomcatEclipse_wtp_tomcatEclipse_wtp_tomcatEclipse_wtp_tomcatEclipse_wtp_tomcatEclipse_wtp_tomcat

    WTP1.5.3 开发ejb步骤

    WTP,ejb,Callisto,配置XDoclet

    Eclipse WTP Web应用开发

    Eclipse WTP Web应用开发,(曼德尔),姚军等译。

    wtp1.5.x +eclipse3.2.x的中文语言包

    wtp1.5.x +eclipse3.2.x的中文语言包

    eclipse WTP 1.2 插件 支持 jquery 1.6

    jQueryWTP一个让Eclipse WTP支持jQuery Javascript代码自动补全功能的Eclipse插件。 支持jquery 1.6

    蓝海卓越 WTP 管理协议

    蓝海卓越 WTP 管理协议蓝海卓越于近期推出自有的无线管理协议。该协议完全由蓝海卓越自行设计架构,在满足目前市场需求和未来技术发展方向的基础上,避免华为协议在业务功能上的缺陷和CMCC协议存在的方言性, 使之...

    WTP(Web Tools Platform )

    WTP(Web Tools Platform )项目在eclipse平台上进行扩展,是一个开发J2EE Web应用程序的工具集。WTP由两个子项目 构成:WST(Web标准工具集) 与JST(J2EE标准工具集),包含以下工具: * 一个源码编辑器可以用来编辑HTML...

    eclipse wtp plugs 4

    wtp-R-3.0.5-20090521045405 请将文件名改为 wtp-R-3.04.fss 因为文件太大,Eclipse WTP Plugs 使用文件分割工具处理后上传的,先说明如下: 1. eclipse wtp plugs 1 ~ eclipse wtp plugs 4 是一份完整的 Eclipse ...

    eclipse wtp plugs 0

    eclipse wtp-R-3.0.5-20090521045405 plugs 请将文件名改为 wtp-R-3.00.fsm 因为文件太大,Eclipse WTP Plugs 使用文件分割工具处理后上传的,先说明如下: 1. eclipse wtp plugs 1 ~ eclipse wtp plugs 4 是一份...

    eclipse wtp plugs 1

    eclipse wtp-R-3.0.5-20090521045405 plugs 请将文件名改为 wtp-R-3.01.fss 因为文件太大,Eclipse WTP Plugs 使用文件分割工具处理后上传的,先说明如下: 1. eclipse wtp plugs 1 ~ eclipse wtp plugs 4 是一份...

    使用WTP来构建你的WEB应用程序

    使用WTP来构建你的WEB应用程序.doc

Global site tag (gtag.js) - Google Analytics