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