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
浙公网安备 33010602011771号