日期:2014-05-17  浏览次数:20809 次

用MyEclipse建立maven web项目问题
我用的是maven3.0.4版本的,不是MyEclipse自带的,我新建一个maven项目,过程是new-》MavenProject next next到了选择
模板界面,我想建立一个web项目,所以我选择的Archetype的Artiface Id是maven-archtype-webapp version是 RELEASE
然后next 配置groupID等等,最后点击完成,问题来了,报错说我缺maven-war-plugin-2.1-alpha-1,ok行,我
看中央版本库没有,我就去网上下了个2.1-alpha-1版本的maven-war-plugin,然后安装到本地仓库中,完了然后重复上面步骤,最后一步点击完成,这次报错说是Failed to create project.  java.lang.NullPointerException ,然后项目也没建成
功,这个问题我是真的不知道是怎么回事了,整了好久,实在整不出来,还请给位大哥指点指点。

还有个问题就是,我建立一个MAVEN项目的过程中如果说缺XX版本插件,然后中央仓库也没有,那我是不是得一个一个去网上下啊,然后再安装,这岂不是烦死了。。。有没有什么办法 在建立项目前就配置好需要的插件的版本,这样就可以自动去中央仓库下了,不知道有没有这样的配置地方呢?
------解决方案--------------------
首先,在myeclipse中新建maven工程,我没有弄过,我是用maven命令手动创建。(一般公司构建多模块工程也应该是这样。)

我说说用命令创建吧:

1、你本机如果没有你自己的maven中央仓库(暂且叫法跟你一样),又没有repository(mavenbe本地仓库),那么你就只能自己修改pom,配置maven中央仓库地址(可以配置多个,比如maven2,jboss的)。这样,当你通过命令构建多模块工程的时候,所需要的jar将全部从你配置的maven中央仓库下载。(如果你不配置,则会默认从重要仓库下载。其实一般是,在局域网内,配置公司的中央库,然后建maven工程的时候,先去公司的库download,没有,再去外网download。)。下载的jar将会放置在.m2下repository中(这就是maven本地仓库)。

举个例子,假如我要新建一个多模块工程,有三个模块,分别为:sm-api,sm-service,sm-web,则最外层有一个pom,内容为:


  <?xml version="1.0" encoding="UTF-8" ?> 
- <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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion> 
  <groupId>sm</groupId> 
  <artifactId>sm-pom</artifactId> 
  <packaging>pom</packaging> 
  <name>sm-pom</name> 
  <version>1.0-SNAPSHOT</version> 
- <profiles>
- <profile>
  <id>web</id> 
- <activation>
- <property>
  <name>web</name> 
  </property>
  </activation>
- <modules>
  <module>sm-api</module> 
  <module>sm-service</module> 
  <module>sm-web</module> 
  </modules>
  </profile>
  </profiles>
- <!--  變量、屬性聲明 
  --> 
- <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
  <spring.version>3.0.5.RELEASE</spring.version> 
  <junit.version>4.8.2</junit.version> 
  <jsf.version>2.1</jsf.version> 
  <jdk.version>1.6</jdk.version> 
- <!--  Database settings, also defined in src/main/jdbc.properties for easy
IDE testing

  --> 
  <hibernate.dialect>org.hibernate.dialect.MySQLDialect</hibernate.dialect> 
  <jdbc.groupId>mysql</jdbc.groupId> 
  <jdbc.artifactId>mysql-connector-java</jdbc.artifactId> 
  <jdbc.version>5.1.13</jdbc.version> 
  <jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName> 
  </properties>
- <build>
- <plugins>
- <plugin>
  <grou