자바 기초 지식 Maven

1.Maven 은 왜 사용 하나 요?
  • 우선 제 르 백 이 뭔 지 영혼 고문 부터 해 볼 까요?우 리 는 그것 을 우리 가 쓴 자바 프로그램 으로 이해 할 수 있다.전체 자바 프로그램 은 여러 개의 자바 파일 과 의존 으로 구성 된다.이 걸 알 고 저희 가 왜 Maven
  • 을 사용 해 야 하 는 지 소개 하 겠 습 니 다.
  • 많은 동료 들 이 Maven 을 공부 한 후에 도 의문 이 있 습 니 다.그것 은 무엇 에 쓰 입 니까?그래서 오늘 의 내용 에 들 어가 기 전에 저 는 제 이해 에 따라 Maven
  • 을 설명 하 겠 습 니 다.
  • Maven 은 창고 관리자 에 해당 합 니 다.로 컬 창고 와 클 라 우 드 창고 두 개의 창고 가 있 습 니 다.로 컬 창고 에서 우리 가 만 든 jar 가방 을 관리 하고 있 습 니 다.마찬가지 로 우 리 는 원 격 창 고 를 통 해 다른 사람의 jar 가방 을 사용 할 수 있 습 니 다.물론 자신 만 의 규범 이 있 습 니 다.그래 야 Maven 을 통 해 다른 사람의 가방
  • 을 사용 할 수 있 습 니 다.
    2.Maven 을 사용 하 는 장점
    Maven 은 jar 가방 을 관리 하 는 것 이기 때문에 물론 jar 가방 과 관련 된 문 제 는 모두 해결 할 수 있 습 니 다.예 를 들 어 아래 의 문제:
    jar 가방 간 의존 관계
  • 앞에서 말 했 듯 이 jar 가방 은 자바 프로그램 에 해당 하기 때문에 jar 가방 은 고립 된 존재 가 아니 라 다른 jar 가방 의 지원 이 있어 야 정상적으로 작 동 할 수 있 습 니 다.이 는 jar 가방 의 의존 관 계 를 잘 알 아야 합 니 다.Maven 은 이 기능 을 제공 하여 의존 관 계 를 잘 이해 하고 미래 개발 에서 발생 할 수 있 는 문 제 를 줄 일 수 있 습 니 다
  • .
    질문
  • 다른 jar 가방 을 호출 해 야 작업 할 수 있 으 니 jar 가방 사이 에 다른 jar 가방 의 다른 버 전 을 사 용 했 을 때 jar 가방 충돌 이 발생 할 수 있 습 니 다.두려워 하지 마 세 요.Maven 도 이 문 제 를 해결 할 수 있 습 니 다
  • 제3자 jar 패키지 가 져 오기
  • 우 리 는 프로젝트 를 할 때 세 측의 jar 가방 을 호출 해 야 합 니 다.만약 에 이 jar 가방 의 사이트 에 가서 다운로드 하 는 것 이 너무 번 거 롭 지 않 습 니까?Maven 을 사용 하면 중앙 창고 에서 직접 다운로드 한 다음 에 이 jar 가방 을 편리 하 게 호출 할 수 있 습 니 다
  • 프로젝트 를 여러 공정 모듈 로 나누다.
  • 프로젝트 개발 에서 모든 기능 이 하나의 공정 모듈 을 사용 하면 특정한 기능 을 수정 해 야 하기 때문에 우 리 는 전체 프로젝트 를 기능 에 따라 모듈 로 나 누 어야 합 니 다.그러나 분 리 된 후에 어떻게 서로 호출 하고 방문 합 니까?Maven 을 사용 하면 프로젝트 분할 상황 을 뚜렷하게 파악 할 수 있 습 니 다
  • 프로젝트 의 배 치 를 실현 하 다.
  • 실제 생산 환경 에서 프로젝트 규모 가 어느 정도 증가 한 후에 모든 모듈 이 독립 된 서버 에서 실행 되 어야 할 수도 있 습 니 다.우 리 는 분포 식 배치 라 고 부 릅 니 다.여 기 는 Maven 으로 프로젝트 의 배 치 를 완성 해 야 합 니 다
  • .
    3.Maven 은 무엇 입 니까?
    Maven 의 장점 을 소개 한 후에 우 리 는 본 격 적 으로 Maven 을 배우 기 시작 했다.
    Maven 은 자동화 구축 도구 입 니 다.구축 은 무엇 입 니까?웹 프로젝트 로 예 를 들 면
  • 우 리 는 번역 되 지 않 은 웹 공 사 를 생 닭 에 비유 할 수 있다.컴 파일 된 웹 공 사 는 삶 은 닭 이 고 컴 파일 배치 과정 은 닭 을 삶 는 것 이다
  • .
  • 실제 프로젝트 에서 제3자 프레임 워 크 를 통합 합 니 다.웹 프로젝트 는 자바 프로그램 과 JSP 페이지,이미지 등 정적 자원 을 제외 하고 제3자 프레임 워 크 의 jar 패키지 와 다양한 설정 파일 도 포함 합 니 다.모든 이 자원 들 은 정확 한 디 렉 터 리 구조 에 따라 서버 에 배치 해 야 프로젝트 를 실행 할 수 있 습 니 다
  • 구축 은 우리 가 작성 한 자바 코드,프레임 워 크 프로필,국제 화 등 다른 자원 파일,JSP 페이지 와 그림 등 정적 자원 을'원자재'로 하여 실행 가능 한 프로젝트 를 생산 하 는 과정
  • 입 니 다.
    이제 빌 드 코 너 를 소개 하 겠 습 니 다.
    1.정리:이전의 컴 파일 결 과 를 삭제 하고 다시 컴 파일 할 준 비 를 합 니 다.
    2.컴 파일:자바 소스 프로그램 을 바이트 파일 로 컴 파일 합 니 다.
    3.테스트:프로젝트 중의 관건 점 에 대해 테스트 를 하고 프로젝트 가 교체 개발 과정 에서 관건 적 인 정확성 을 확보한다.
    4.보고:매번 테스트 후 표준 형식 으로 테스트 결 과 를 기록 하고 보 여 줍 니 다.
    5.포장:여러 파일 을 포함 하 는 프로젝트 를 압축 파일 로 포장 하여 설치 또는 배치 에 사용 합 니 다.자바 프로젝트 는 jar 패키지,웹 프로젝트 는 war 패키지 에 대응 합 니 다.
    6.설치:Maven 환경 에서 포장 결과 인 jar 가방 이나 war 가방 을 로 컬 창고 에 설치 하 는 것 을 말한다.
    7.배치:패키지 결 과 를 원 격 창고 에 배치 하거나 war 패 키 지 를 서버 에 배치 하여 실행 합 니 다.
    우 리 는 jar 가방 을 구축 하려 면 위의 절 차 를 수 동 으로 완성 해 야 한다.Maven 을 사용 하면 상기 절 차 를 자동 으로 완성 할 수 있다.Maven 이 자동화 구축 을 실현 할 수 있 는 이 유 는 그의 디자인 과 밀접 한 관 계 를 가진다.우리 가 Maven 에 대한 학습 은 그것 의 9 가지 핵심 개념 을 중심 으로 전개 된다.
    1.POM
    2.약 속 된 디 렉 터 리 구조
    3.좌표
    4.관리 의존
    5.창고 관리
    6.라 이 프 사이클
    7.플러그 인과 목표
    8.상속
    9.집합
    4.Maven 설치
    첫 번 째 단계:우 리 는 다음 두 개의 가방 이 필요 합 니 다.첫 번 째 maven-bin.zpi 이것 은 src 는 소스 코드 입 니 다.우 리 는 사용 할 수 없습니다.두 번 째 는 repo 입 니 다.그 안에 자주 사용 하 는 의존 가방 이 포함 되 어 있 습 니 다.
    在这里插入图片描述
    두 번 째 단계:우 리 는 이 두 가방 을 한 폴 더 에 넣 고 압축 을 풀 었 다.
    在这里插入图片描述
    세 번 째 단계,환경 변 수 를 설정 합 니 다.
    내 컴퓨터 C>오른쪽 키 C>속성 C>고급 시스템 설정 C>환경 변수,그리고 앞 에 자바 설정 과 마찬가지 로 홈 을 새로 만 듭 니 다.
    在这里插入图片描述
    네 번 째,path 추가
    在这里插入图片描述
    다섯 번 째 단계,성공 여 부 를 테스트 합 니 다:명령 입력:mvn -version在这里插入图片描述
    다섯 째 Maven
    우 리 는 먼저 수 동 으로 공 사 를 만 들 고 느껴 본 다음 에 IDEA 를 이용 하여 Maven 공 사 를 만 드 는 방법 을 소개 하 겠 습 니 다.
    첫 번 째 단계:약 속 된 디 렉 터 리 구 조 를 만 듭 니 다.
    
    Hello
    	 src
    	 ――main
    	 ――――java
    	 ――――resources
    	 ――test
    	 ――――java
    	 ――――resources
    	 pom.xml
    /*
    main         。
    test          。
    java           。
    resources               
    */
    
    두 번 째 단계:Maven 의 핵심 프로필 pom.xml 을 만 들 고 직접 복사 하면 됩 니 다.
    
    <?xml version="1.0" ?>
    <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.company.maven</groupId>
    	<artifactId>Hello</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    
    	<name>Hello</name>
    	  
    	<dependencies>
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.0</version>
    			<scope>test</scope>
    		</dependency>
    	</dependencies>
    </project>
    
    세 번 째 단계:홈 코드 를 작성 합 니 다. src/main/java/com/company/maven디 렉 터 리 에 새 파일 Hello.java
    
    package com.company.maven;
    public class Hello {
    	public String sayHello(String name){
    		return "Hello "+name+"!";
    	}
    }
    네 번 째 단계:테스트 코드 를 작성 하여/src/test/java/com/company/maven디 렉 터 리 에 새 테스트 파일 HelloTest.java
    
    package com.company.maven;	
    	import org.junit.Test;
    	import static junit.framework.Assert.*;
    	public class HelloTest {
    		@Test
    		public void testHello(){
    			Hello hello = new Hello();
    			String results = hello.sayHello("atguigu");
    			assertEquals("Hello atguigu!",results);	
    		}
    	}
    
    다섯 번 째 단계:기본 Maven 명령 을 실행 하고 Maven 명령 을 실행 할 때 pom.xml 파일 이 있 는 디 렉 터 리 에 들 어가 야 합 니 다.
    
      cmd   ,  Hello     (pom.xml      )  mvn compile  ,       
    cmd      mvn clean  ,           
    cmd     mvn  compile  ,        
    cmd     mvn  test-compile  ,   target     
    cmd     mvn  test  ,  target    
    cmd     mvn  package  ,  target    
    cmd     mvn  install  ,            
    
    6.Maven 로 컬 창고 의 배치
  • Maven 의 핵심 절 차 는 구체 적 인 기능 을 포함 하지 않 고 거시적인 관리 만 책임 진다.구체 적 인 기능 은 플러그 인 으로 이 루어 집 니 다.Maven 핵심 프로그램 은 로 컬 창고 에서 플러그 인 을 찾 습 니 다.로 컬 창고 에 없 으 면 원 격 중앙 창고 에서 다운로드 합 니 다.이때 인터넷 에 접속 하지 못 하면 Maven 의 구체 적 인 기능 을 수행 할 수 없다.이 문 제 를 해결 하기 위해 서,우 리 는 Maven 의 로 컬 창 고 를 인터넷 상황 에서 다운로드 한 디 렉 터 리
  • 를 가리 킬 수 있 습 니 다.
  • Maven 기본 로 컬 창고:~m2\reposcory 디 렉 터 리
  • Maven 의 핵심 프로필 위치:압축 해제 디 렉 터 리 에 있 는 conf\setting.xml 파일 에 있 습 니 다
  • <localRepository> </localRepository>在这里插入图片描述
    앞의 repo.zip 을 기억 하 십 니까?이 디 렉 터 리 를 설정 파일 에 추가 합 니 다.
    在这里插入图片描述
    Maven 은 외국 에서 개 발 된 것 이기 때문에 중앙 창고 도 외국 에 있 습 니 다.관련 jar 를 설치 하려 면 벽 을 넘 어야 할 수도 있 습 니 다.
    
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    
    7.IDEA 설정 Maven
    앞에서 수 동 으로 만 든 것 은 여러분 에 게 그 구 조 를 알 리 기 위해 서 입 니 다.저희 가 실제 개발 할 때 이렇게 번 거 로 울 수 는 없습니다.IDEA 에 직접 설정 하면 됩 니 다.
    첫 번 째,Maven 설정 열기
    在这里插入图片描述
    두 번 째 단 계 는 maven 의 설치 디 렉 터 리 와 로 컬 창 고 를 설정 합 니 다.
    在这里插入图片描述
    세 번 째 단계,설정 선택
    在这里插入图片描述
    여덟 째 Maven
    첫 번 째 단계:프로젝트 MavenProject 를 새로 만 들 고 오른쪽 단 추 를 누 르 면 빈 폴 더 를 만 듭 니 다.
    在这里插入图片描述
    두 번 째 단계:오른쪽 단 추→new Module→Maven→Hello 공정 모듈 만 들 기
    在这里插入图片描述
    在这里插入图片描述
    
    main         。
    test          。
    java           。
    resources               
    세 번 째 단계:Maven 의 핵심 프로필 pom.xml 설정
    
    <?xml version="1.0" encoding="UTF-8"?>
    <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       +      -->
        <groupId>com.company.helloworld</groupId>
        <!--       -->
        <artifactId>Hello</artifactId>
        <!--     -->
        <version>1.0-SNAPSHOT</version>
        <dependencies>
           <!--      jar   -->
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.0</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
    </project>
    
    네 번 째 단계:홈 코드 를 작성 하여 src/main/java 디 렉 터 리 에 새 파일 Hello.java
    
    package com.atguigu.maven;
    
    public class Hello {
        public String sayHello(String name){
            return "Hello "+name+"!";
        }
    }
    다섯 번 째 단계:테스트 코드 를 작성 하여/src/test/java 디 렉 터 리 에 새 테스트 파일 HelloTest.java
    
    package com.company.helloworld;
    import org.junit.Test;
    
    public class HelloTest {
        @Test
        public void testHello(){
            Hello hello = new Hello();
            String maven = hello.sayHello("Maven");
            System.out.println(maven);
        }
    }
    
    STEP 6:Maven 방식 으로 Maven 공 사 를 운영 하고 오른쪽 Maven 에서
    在这里插入图片描述
    9.Maven 패키지 플러그 인
    우리 가 우리 의 프로젝트 를 포장 할 때 기본 값 은 우리 가 사용 하 는 의존 도 를 포장 하지 않 습 니 다.만약 에 우리 프로그램 이 필요 로 하 는 의존 도 를 우리 의 프로젝트 와 함께 포장 하려 면 Maven 도 할 수 있 습 니 다.아래 의 내용 을 pom.xml 에 넣 으 면 됩 니 다.
    
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                  <archive>
                        <manifest>
                         <!--      -->
                            <mainClass>xxx.xxx.XXX</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
    
                </executions>
            </plugin>
        </plugins>
    </build>
    
    총화
    이 장 에 서 는 Maven 의 기본 적 인 사용 을 소개 합 니 다.여기 서 우 리 는 Maven 이 공사 관 리 를 편리 하 게 하기 위해 서 입 니 다.이것 은 바로 창고 관리자 입 니 다.현지 창고 와 원 격 창고 가 있어 서 다른 사람 이 개발 한 jar 가방 을 편리 하 게 사용 할 수 있 고 프로젝트 의 배치 와 관 리 를 할 수 있 습 니 다.
    자바 기반 의 첫 번 째 Maven 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.자바 Maven 에 관 한 더 많은 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기