`
simen_net
  • 浏览: 306243 次
  • 性别: 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项目转动态web项目,部署到tomcat

    "Maven 项目转动态 Web 项目并部署到 Tomcat" Maven 项目转动态 Web 项目并部署到 Tomcat 是一个常见的...在了解了上述步骤和知识点后,开发者可以更好地将 Maven 项目转换为动态 Web 项目,并将其部署到 Tomcat 中。

    Eclipse搭建MAVEN项目

    Maven 是一个项目管理工具,能够帮助开发者更好地管理项目的依赖关系和编译过程。Eclipse 是一个流行的集成开发环境(IDE),提供了对 Maven 的支持。下面将详细介绍如何在 Eclipse 中搭建 Maven 项目,包括安装 ...

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

    在“wtp.rar”压缩包中,我们找到了核心的“wtp”文件,这通常包含了项目的源代码、配置文件以及可能的依赖库。要理解并运行这个项目,你需要具备一定的Java和Web开发知识,特别是对Spring框架、Maven或Gradle构建...

    Maven项目中的热部署

    在IT行业中,Maven是一个广泛使用的构建自动化工具,主要用于Java项目的管理。它简化了构建过程,依赖管理和项目信息管理,使得开发团队能够更高效地工作。"Maven项目中的热部署"这一主题聚焦于如何在Maven管理的...

    maven构建项目工程

    在"Maven构建项目工程"中,我们可以深入了解Maven如何帮助我们快速、简便地创建和管理项目。 首先,创建一个新的Maven项目可以使用`mvn archetype:create`命令。在这个例子中,我们使用了`-DgroupId=org.lzk.ssh`和...

    myeclipse_java项目转maven项目.pdf

    在开发Java项目时,Maven已经成为了一种标准的构建工具,它可以帮助开发者管理项目依赖、构建过程以及自动化测试。然而,对于那些原本不是基于Maven构建的项目,我们需要将其转换成Maven项目来利用其优势。这个过程...

    maven4dorado.pdf

    将Dorado项目整合到Maven中,能够使项目管理更为高效、标准化,同时也可以借助Maven的中央仓库和依赖管理系统来简化项目构建和依赖的管理。 首先,我们需要了解为什么需要Maven。Maven的核心功能是构建自动化,它...

    maven的优缺点 项目

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

    eclipse的maven插件

    Eclipse的Maven插件,即Maven Integration for Eclipse(简称m2e),是开发者在Eclipse集成开发环境中管理Maven项目的重要工具。它提供了与Maven生命周期的紧密集成,使得用户可以在Eclipse内部进行构建、编译、测试...

    eclipse 3.5.1 maven plugin

    2. **依赖管理**:插件会根据POM文件中的依赖信息自动管理项目所依赖的JAR库,避免了手动添加库的繁琐步骤。 3. **构建生命周期集成**:用户可以直接在Eclipse中执行Maven的生命周期阶段,如clean(清理)、compile...

    MAVEN的使用教程 docx

    Maven 使用 `pom.xml` 文件来管理项目的依赖。你可以在 [MvnRepository](http://mvnrepository.com/) 网站上搜索你需要的依赖库,并将对应的 `&lt;dependency&gt;` 标签添加到 `pom.xml` 文件中。例如: ```xml ...

    在Eclipse中Tomcat和Maven插件相互配合进行热部署

    这个过程涉及到了源码管理和自动化构建工具Maven,以及集成开发环境Eclipse中的服务器适配器Tomcat,它们共同助力实现项目的热部署,即代码修改后无需重启服务器即可看到更新效果。 首先,Maven是一个强大的项目...

    Maven学习教材

    在Eclipse中,可以通过Marketplace安装m2eclipse-wtp插件来集成Maven支持。安装插件后,需要重启Eclipse。重启完成后,通过Window -&gt; Preferences进入Maven配置页面,确保配置正确。 4. 创建Java Maven项目 在...

    maven-eclipse_plugin.zip

    Maven Eclipse Plugin是Apache Maven项目的一部分,它主要负责将Maven构建过程与Eclipse IDE集成,使得开发人员能够在Eclipse环境中方便地管理Java项目的依赖、构建以及生命周期。这个插件极大地简化了在Eclipse中...

    Eclipse MAVEN离线插件

    Maven是一个强大的项目管理和构建工具,广泛用于Java应用的开发,它通过管理项目的依赖关系、构建流程以及生命周期,帮助开发者高效地构建和维护项目。 离线安装Eclipse Maven插件的过程主要包括以下步骤: 1. **...

    maven完整教程

    Maven通过一个统一的配置文件(pom.xml)来管理项目的构建生命周期,使得开发者可以专注于编写代码,而无需过多关注构建细节。本教程将深入探讨Maven的核心概念和使用技巧。 ### Maven核心概念 1. **项目对象模型 ...

    maven插件的eclipse插件

    **正文** Maven和Eclipse都是Java开发领域中不可或缺的工具。Maven是一个项目管理和综合工具,它通过定义项目的构建过程、依赖管理...通过熟练掌握m2e的使用,开发者可以更高效地管理项目、构建应用,从而提高生产力。

Global site tag (gtag.js) - Google Analytics