`

Web项目添加Maven支持步骤

阅读更多

myeclipse创建maven工程报错 Could not resolve archetype org.apache.maven.archetypes 解决
错误:
Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories. Could not resolve artifact Missing org.apache.maven.archetypes:maven-archetype-quickstart:pom:RELEASE 
解决思路:在本地库中装载maven-archetype-quickstart

  1. {_}{+}http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/+_ 下载最新版maven-archetype-quickstart-1.1.jar

2.cmd窗口执行mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -Dpackaging=jar -Dfile=d:\down\maven-archetype-quickstart-1.1.jar
红字是你jar包放在的位置 
Maven使用log4j可能会有协议上的问题

  1. 如果log4j的版本在1.2.14以上,则会出现下面的错误:

Missing artifact javax.jms:jms:jar:1.1:compile
Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1:compile
Missing artifact com.sun.jmx:jmxri:jar:1.2.1:compile

  1. 原因是log4j在1.2.15及以上版本更换了协议,与jms冲突。解决办法有两种:一是使用1.2.14版本,二是手动下载jms.jar,安装到maven本地仓库中去。








maven工程pom添加log4j依赖:
<dependency>
<groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> </dependency>
出现错误:
12-10-29 上午09时08分41秒: Missing artifact javax.jms:jms:jar:1.1:compile 12-10-29 上午09时08分41秒: Missing artifact com.sun.jdmk:jmxtools:jar:1.2.1:compile12-10-29 上午09时08分41秒: Missing artifact com.sun.jmx:jmxri:jar:1.2.1:compile 
解决方案。改为如下:
<dependency>
<groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> <exclusions> <exclusion> <groupId>com.sun.jmx</groupId> <artifactId>jmxri</artifactId> </exclusion> <exclusion> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> </exclusion> <exclusion> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </exclusion> </exclusions> </dependency> 











MyEclipse中的Web工程 转为 Maven支持的项目,步骤如下:
(基于Windows XP 系统下 MyEclipse8.6版本) 【黄色背景部分可随意修改】

  1. 准备工作,下载安装 Maven 3.X 版本,然后将 安装目录下的 conf/settings.xml 文件拷贝到 ~/.m2/ (~表示用户目录,XP系统是C:\Documents and Settings\Administrator) 目录下,并修改其中的配置(不推荐直接修改安装目录下的settings.xml文件):

0.1 <settings> 标签下添加如下子标签,用以更改本地Maven库的路径(此项可选);

<localRepository>D:/maven/repository</localRepository>

0.2 <proxies> 标签下添加如下子标签,配置http代理;

<proxy> 
<id>personal</id> 
<active>true</active> 
<protocol>http</protocol> 
<host>172.17.18.80</host> 
<port>8080</port> 
</proxy>

0.3 <mirrors> 标签下添加如下子标签,将本地所有的Maven请求从中央仓库转为私服中,提高下载效率和减少对中央仓库的依赖;

<!-- 本地请求全部转到私服中下载 --> 
<mirror> 
<id>nexus</id> 
<mirrorOf>*</mirrorOf> 
<name>All local request turn to nexus repository</name> 
<url>{*}

http://172.24.2.22:9081/nexus/content/groups/public

{*}</url> 
</mirror>

0.4 <profiles>标签添加如下子标签,

<profile> 
<id>nexus</id> 
<!-- 配置仓库请求 --> 
<repositories> 
<repository> 
<id>central</id> 
<url>

http://central

</url> 
<releases> 
<enabled>true</enabled> 
</releases> 
<snapshots> 
<enabled>true</enabled> 
</snapshots> 
</repository> 
</repositories> 

<!-- 配置插件仓库请求 --> 
<pluginRepositories> 
<pluginRepository> 
<id>central</id> 
<url>

http://central

</url> 
<releases> 
<enabled>true</enabled> 
</releases> 
<snapshots> 
<enabled>true</enabled> 
</snapshots> 
</pluginRepository> 
</pluginRepositories> 
</profile>

0.5 <settings>标签下面添加如下子标签,

<activeProfiles> 
<activeProfile>nexus</activeProfile> 
</activeProfiles>


++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++ 

  1. 将以下代码拷贝到工程根路径下的 .project 文件中的 <buildSpec> 标签下(如果代码存在,则无需拷贝)

    <buildCommand> 
    <name>org.maven.ide.eclipse.maven2Builder</name> 
    <arguments></arguments> 
    </buildCommand>

  2. 将以下代码拷贝到工程根路径下的 .project 文件中的 <natures> 标签下(如果代码存在,则无需拷贝)

    <nature>org.maven.ide.eclipse.maven2Nature</nature>

  3. 将以下代码拷贝到工程根路径下的 .classpath 文件中的 <classpath> 标签下(如果代码存在,则无需拷贝)

    <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>

  4. 重启MyEclipse,看到如下Maven依赖






















让maven能够支持现有工程,无非就是让它知道两点:
1。java文件存在哪?
2。web根目录在哪?
那么使用刚说的方法,在myeclipse里随便创建一个带有maven的WEB工程,将其中的pom.xml配置文件拷出来,放到现有工程的根目录下,然后简单地修改一下这个配置文件里的内容即可。下面列举几个关键的修改点:
<build> <sourceDirectory>${basedir}/src</sourceDirectory> <outputDirectory>${basedir}/web/WEB-INF/classes</outputDirectory> ...... <plugins> <plugin><artifactId>maven-war-plugin</artifactId> <configuration> <webappDirectory>${basedir}/web</webappDirectory><warSourceDirectory>${basedir}/web</warSourceDirectory> </configuration> </plugin> ...... </plugins> </build>
明眼人一看就知道,将其中的<sourceDirectory>${basedir}/src</sourceDirectory>改成自己java文件存放目录,将<webappDirectory>${basedir}/web</webappDirectory>改成WEB根目录即可。

分享到:

相关推荐

Global site tag (gtag.js) - Google Analytics