20180926 使用myeclipse创建maven项目

三天终于success并且把文档的红叉全部去掉了,应该在报错的时候开个文档记录一下的,下次知道记录了,这次凭记忆写写记得的解决方案

PS:什么代码都没有,仅仅配置并跑通maven

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.testmvn02</groupId>
  <artifactId>testmvn02</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name/>
 
  <description/>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
//①这个地方是参考https://blog.csdn.net/buxiaosa01/article/details/79654672
<maven>2.6</maven>    //
 
  </properties>
  <dependencies>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.annotation</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.ejb</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.jboss.weld</groupId>
      <artifactId>weld-osgi-bundle</artifactId>
      <version>1.0.1-SP3</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish</groupId>
      <artifactId>javax.servlet</artifactId>
      <version>3.0.1</version>
    </dependency>   
  </dependencies>
  <build>
    <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.4.3</version>
        <configuration>
             <encoding>utf-8</encoding>
        </configuration>
      </plugin>  
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
             <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin> 
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>  
    </plugins>
  </build>
</project>

 

 
Q1.最常见的问题:包下载不完全,或者看下写的插件版本仓库里有没有(这个maven-war-plugins我一直写的3.1.1哪知道仓库里根本没有这个版本,换成了3.1.0就不报错了)
总是报错不能解压某某jar包,主要是网速问题远程仓库下不完全
A1.解决方案
在D:\JSJ\apache-maven-3.3.9\conf下的setting文件中配置了阿里云的远程仓库
<mirror> 
      <id>alimaven</id> 
      <name>aliyun maven</name> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url> 
      <mirrorOf>central</mirrorOf>         
    </mirror>

PS:今天下不了不如回家睡一觉第二天下,说不定就下好了

 
Q2.pox.xml第一行总是有红叉
org.apache.maven.archiver.MavenArchiver.getManifes
原因是maven-war-plugins由2.6升级到3.1.0,myeclipse在pom.xml中报错
maven4eclipse插件的bug,需要要将maven4eclipse升级到0.17.2版本,下面是链接。
但是这一招在myecilpse中是行不通的,因为不能更新该插件。OK,既然是这个版本有问题,那么更新jar包应该是可以解决的。在myeclipse的安装目录中找到plugins目录,搜索mavenarchiver,果然这个版本比较老,是0.17.0.xxx。在上面的链接中下载0.17.2的jar包,将原有的jar删除替换即可。
升级插件之后,报错消失,但是后续发现myeclipse不能识别web工程了,经过几番折腾,不得不妥协降低maven-war-plugins插件的版本号
 
Q3.一些常用的网站
maven的一个仓库,可以在这里找版本https://search.maven.org/
 
环境: 
myeclipse10
jdk1.7.0_80
apache-maven-3.3.9

 

 
 
 
2018.09.26
posted @ 2018-09-26 14:12  MerryRose  阅读(173)  评论(0编辑  收藏  举报