Maven Wrapper란?
Maven Wrapper는 Maven을 별도로 설치하지 않더라도 Maven Wrapper가 Maven을 자동으로 다운로드하여 빌드할 수 있도록 지원합니다.
. ├── .mvn │ └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── README.md ├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── mvnw ├── mvnw.cmd ├── pom.xml ├── settings.gradle └── src └── main └── java └── com └── example └── authenticatingldap ├── AuthenticatingLdapApplication.java └── HomeController.java
Maven Wrapper의 설정 파일은 .mvn/wrapper/maven-wrapper.properties
파일이며 이 파일은 다음과 같이 구성되어 있습니다.
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
이제 mvnw
커맨드를 실행하여 Maven을 실행할 수 있습니다.
Maven Wrapper 프로젝트는 첨부파일을 참고하십시오. Maven Wrapper의 경우 distributionUrl
의 다운로드 경로가 외부에 있는 경우 인터넷 네트워크에 접속이 되어야 합니다. 만약에 내부에서 사용하고자 하는 경우 내부 웹 서버 등을 통해 업로드후 사용하도록 합니다.
Maven Wrapper 다운로드
현재 디렉토리에 Maven Wrapper를 추가하려면 다음의 커맨드를 실행해야 합니다. 단, 이 커맨드도 마찬가지로 인터넷 연결이 되어 있어야 합니다.
# mvn -N io.takari:maven:wrapper
생성된 결과물은 다음과 같이 확인할 수 있습니다.
# tree -a . ├── .mvn │ └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── mvnw └── mvnw.cmd 2 directories, 5 files
만약에 사용할 Maven의 버전을 명시하고자 하는 경우는 다음과 같이 지정할 수 있습니다.
# mvn -N io.takari:maven:wrapper -Dmaven=3.3.3
Maven Wrapper를 실행하면 사용자의 홈 디렉토리에 다음의 위치에 다운로드를 하고 사용합니다.
# cd ~/.m2/wrapper/dists # tree . └── apache-maven-3.6.3-bin └── lm9vem38rfmjij3jj0mk5bvnt ├── apache-maven-3.6.3 │ ├── LICENSE │ ├── NOTICE │ ├── README.txt │ ├── bin │ │ ├── m2.conf │ │ ├── mvn │ │ ├── mvn.cmd │ │ ├── mvnDebug │ │ ├── mvnDebug.cmd │ │ └── mvnyjp │ ├── boot │ │ ├── plexus-classworlds-2.6.0.jar │ │ └── plexus-classworlds.license │ ├── conf │ │ ├── logging │ │ │ └── simplelogger.properties │ │ ├── settings.xml │ │ └── toolchains.xml │ └── lib │ ├── cdi-api-1.0.jar │ ├── cdi-api.license │ ├── commons-cli-1.4.jar │ ├── commons-cli.license │ ├── commons-io-2.5.jar │ ├── commons-io.license │ ├── commons-lang3-3.8.1.jar │ ├── commons-lang3.license │ ├── ext │ │ └── README.txt │ ├── guava-25.1-android.jar │ ├── guava.license │ ├── guice-4.2.1-no_aop.jar │ ├── guice.license │ ├── jansi-1.17.1.jar │ ├── jansi-native │ │ ├── README.txt │ │ ├── freebsd32 │ │ │ └── libjansi.so │ │ ├── freebsd64 │ │ │ └── libjansi.so │ │ ├── linux32 │ │ │ └── libjansi.so │ │ ├── linux64 │ │ │ └── libjansi.so │ │ ├── osx │ │ │ └── libjansi.jnilib │ │ ├── windows32 │ │ │ └── jansi.dll │ │ └── windows64 │ │ └── jansi.dll │ ├── jansi.license │ ├── javax.inject-1.jar │ ├── javax.inject.license │ ├── jcl-over-slf4j-1.7.29.jar │ ├── jcl-over-slf4j.license │ ├── jsoup-1.12.1.jar │ ├── jsoup.license │ ├── jsr250-api-1.0.jar │ ├── jsr250-api.license │ ├── maven-artifact-3.6.3.jar │ ├── maven-builder-support-3.6.3.jar │ ├── maven-compat-3.6.3.jar │ ├── maven-core-3.6.3.jar │ ├── maven-embedder-3.6.3.jar │ ├── maven-model-3.6.3.jar │ ├── maven-model-builder-3.6.3.jar │ ├── maven-plugin-api-3.6.3.jar │ ├── maven-repository-metadata-3.6.3.jar │ ├── maven-resolver-api-1.4.1.jar │ ├── maven-resolver-connector-basic-1.4.1.jar │ ├── maven-resolver-impl-1.4.1.jar │ ├── maven-resolver-provider-3.6.3.jar │ ├── maven-resolver-spi-1.4.1.jar │ ├── maven-resolver-transport-wagon-1.4.1.jar │ ├── maven-resolver-util-1.4.1.jar │ ├── maven-settings-3.6.3.jar │ ├── maven-settings-builder-3.6.3.jar │ ├── maven-shared-utils-3.2.1.jar │ ├── maven-slf4j-provider-3.6.3.jar │ ├── org.eclipse.sisu.inject-0.3.4.jar │ ├── org.eclipse.sisu.inject.license │ ├── org.eclipse.sisu.plexus-0.3.4.jar │ ├── org.eclipse.sisu.plexus.license │ ├── plexus-cipher-1.7.jar │ ├── plexus-cipher.license │ ├── plexus-component-annotations-2.1.0.jar │ ├── plexus-component-annotations.license │ ├── plexus-interpolation-1.25.jar │ ├── plexus-interpolation.license │ ├── plexus-sec-dispatcher-1.4.jar │ ├── plexus-sec-dispatcher.license │ ├── plexus-utils-3.2.1.jar │ ├── plexus-utils.license │ ├── slf4j-api-1.7.29.jar │ ├── slf4j-api.license │ ├── wagon-file-3.3.4.jar │ ├── wagon-http-3.3.4-shaded.jar │ └── wagon-provider-api-3.3.4.jar └── apache-maven-3.6.3-bin.zip 17 directories, 85 files