Maven




总而言之说下吧,Maven其实就类似于.Net的NuGet和Python-Anaconda 的pip和conda.包的管理工具更贴切?

Maven下载地址

http://maven.apache.org/download.cgi

基本操作

mvn -v (查看版本)

mvn archetype:generate -DgroupId=com.how2java -DartifactId=j2se -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

-archetype: generate 表示创建个项目
-DgroupId 项目包名: com.how2java
-DartifactId 项目名称: j2se
-DarchetypeArtifactId 项目类型: maven-archetype-quickstart
-DinteractiveMode: false 表示前面参数都给了,就不用一个一个地输入了

mvn package (打包成jar)

java -cp target/j2se-1.0-SNAPSHOT.jar com.how2java.App (执行jar)

mvn archetype: generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.how2java -DartifactId=j2ee -DinteractiveMode=false

创建Web App,可以发现其中是maven-archetype-webapp

仓库

仓库就是来存放项目需要的jar包的。
maven采用一个仓库,多个项目的方式,让多个项目共享一个仓库里的相同jar包。

仓库默认位置:
.\apache-maven-3.5.3\conf\settings.xml
第53行

Default: ${user.home}/.m2/repository

修改下载路径

这里用阿里的.
这里修改仓库默认地址(随便,好找):
D:/Software/maven/repository

然后修改maven的镜像(mirrors)

  <mirrors>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->
     <mirror>
     <id>alimaven</id>
         <mirrorOf>central</mirrorOf>
         <name>aliyun maven</name>
         <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
     <mirror>
  </mirrors>

Maven风格的Java项目(听说很少用)

莫名其妙的东东,运行jar???多个入口怎么处理啊?迷,不过用来封jar包挺方便的/大概

给个链接:http://how2j.cn/k/maven/maven-create-maven-project/1331.html#nowhere

windows 盘符跳转

cd /d D:\Java
要在中间加上/d
或者直接
:e

配置安装以及接下来

配置见how2j

之后再Maven中添加包,直接在pom.xml下的Depen…中点Add

如果无法自动搜索
菜单->Window->Show View->Other->Maven->Maven Repositories->Local Repository->Rebuild Index

没有run on server 解决办法:
https://blog.csdn.net/mr_yzko/article/details/78458873

然后可能出现jsp报错:导包即可
http://how2j.cn/k/maven/maven-eclipse-web-project/1334.html

总结一下新建maven webapp所出现的所有问题

  1. 创建项目后的JDK版本错误

    右键->属性->Build Path->Libraries->JRE System…->Edit->Default JRE

  2. 无Run on server

    右键->属性->Project Facets->点那个蓝条->选中Dynamic Web Module和Javascript->OK

  3. .jsp报错

    双击pom.xml->Dependencies->Add->javax.servlet-api

  4. 无法找到web文件夹和主页(初始404)

    完成第二步后->Deployment Assembly->查看Deploy Path为/的那一条的源路径是否正确->不正确,删除后修改为index.jsp所在目录->添加Maven Dependencies->OK

  5. 完成!