FrankKai / FrankKai.github.io

FE blog
https://frankkai.github.io/
363 stars 39 forks source link

Java Rookie #64

Closed FrankKai closed 4 years ago

FrankKai commented 6 years ago

打不过就加入。

FrankKai commented 6 years ago

macOS设置JAVA_HOME环境变量

cd ~
vim .bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)

source .bash_profile
echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home

FrankKai commented 6 years ago

macOS设置maven的环境变量

cd ~
mkdir opt
vim .bash_profile

export PATH=$PATH:~/opt/apache-maven-3.5.3/bin

source .bash_profile
mvn -v

Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00) Maven home: /Users/frank/opt/apache-maven-3.5.3 Java version: 9.0.4, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home Default locale: zh_CN, platform encoding: UTF-8 OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"

FrankKai commented 6 years ago

macOS初始化一个maven项目

cd ~/eclipse-workspace
mvn -B archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=com.mycompany.app \
  -DartifactId=my-app

在当前目录下生成一个名为my-app的项目,生成pom.xml文件,其groupId值为com.mycompany.app。

FrankKai commented 6 years ago

如何理解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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>my-app</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>

pom.xml 包含了项目的Project Object Model (POM) 。POM是Maven工作的基本单元。这很重要,因为Maven是固有以项目为中心的,这样就保证了与项目相关的内容都围绕着共同的概念展开。简而言之,POM包括了每一个关于你的项目的重要配置信息,而且基本是一站式购物,满足有关项目的的所有配置。理解POM非常重要,因此对于新人来说首先要把POM搞清楚。

这是一个非常简单的POM,但是已经包含了POM必须包含的关键信息,所有让我们开始熟悉每一个POM配置项吧:

FrankKai commented 6 years ago

eclipse初始化Maven webapp项目

上述方式有点刀耕火种,就像有curl而不用postman测试接口,还有一种快捷的创建maven项目的方式。

file -> new ->project ->Maven -> Maven project ->next ->maven-archetype-webapp

注意,一定要选择artifact Id为maven-archetype-webapp的初始化结构,否则会缺失webapp目录。