์์ ํ๋ก์ ํธ ์์ฑ
ย
์์ ํ๋ก์ ํธ ์์ฑ
์ด์ ์ ํจ์ค์์ ์ค์ ๋น๋ ์์ ์ค์ ์ ํ๊ธฐ ์ํด ํ์ํ ์์ ย ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด ๋ณด์. ๋ง๋ค ํ๋ก์ ํธ๋ jar ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋๋ lib-hello ์ ์ด๋ฅผ ์ฌ์ฉํ๋ ์น ํ๋ก์ ํธ์ธ hello-webapp ๋ผ๋ ํ๋ก์ ํธ์ด๋ค.
ย
๋จผ์ lib-hello ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ๋ฒ์ ๊ด๋ฆฌ์ ๋ฑ๋กํด ๋ณด์.
ย
๋ฉ์ด๋ธ ์ํคํ์ ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ์ฌ jar ํ์ผ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค.
mvn archetype:generate -B -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.example -DartifactId=lib-hello -Dversion=1.0-SNAPSHOT
๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋ก์ ํธ์ด๋ฏ๋ก ํจํค์ง ํ์์ jar ํ์ผ์ด๋ฉฐ ๋ฉ์ด๋ธ์ ๋ํ๋ก์ดํ ํ์ hello-webapp ํ๋ก์ ํธ์์ ์ด ์ํฐํฉํธ๋ฅผ ์ฌ์ฉํ ์์ ์ด๋ค. ์ธ๋ถ์์ ์ฌ์ฉํ ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํดย src/main/java/com/example/Hello.javaย ํ์ผ์ ๋ง๋ค๊ณ ๊ฐ๋จํ ๋ฉ์๋๋ฅผ ์์ฑํ์.
package com.example; public class Hello { public String getMessage( ) { return "Hello"; } }
nexus ์ฐ๊ณ ๋ฐ ์ง์์ ์ธ ํตํฉ ์ฐ๊ณ๋ฅผ ์ํด ๋ฉ์ด๋ธ์ pom ํ์ผ์ ์์ ํด ๋ณด์. ์์ ํ ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ด๋ถ ๋ฅ์์ค ์ ์ฅ์ ์ถ๊ฐ : ์ ์ฅ์์ ๊ตฌ์ถํ ๋ด๋ถ ๋ฅ์์ค ์ ์ฅ์๋ฅผ ์ค์ ํ๋ค.
<repositories> <repository> <id>public</id> <name>internal maven Repository</name> <url>http://nexus.example.com/content/groups/public/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <name>Maven Plugin Repository</name> <url>http://nexus.example.com/content/repositories/central/</url> </pluginRepository> </pluginRepositories>
junit ๋ฒ์ ๊ฐฑ์ : ์ง์์ ์ธ ํตํฉ์ย ์๋ํ๋ ํ ์คํธ๋ฅผ ๋น๋๋ง๋ค ์ํํ๋๊ฒ ์ข๋ค. ์ํคํ์ ์ผ๋ก ํ๋ก์ ํธ ์์ฑ์ junit ์ ๋ฒ์ 3๋ก ์ค์ ๋๋ฏ๋ก ๋จ์ ํ ์คํธ ์์ฑ์ด ์ฌ์ด ๋ฒ์ 4 ๋ก ๋ณ๊ฒฝํด ๋ณด์.ย
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.1</version> <scope>test</scope> </dependency>
lib-hello ๋ jar ์ด๋ฏ๋ก ๋ฅ์์ค์ ๋ฐ๋ก ๋ํ๋ก์ด ํ ์ ์๋๋ก <distributionManagement> ํญ๋ชฉ์ ์ค์ ํ๋ค. ๋ณ๋์ ์ ์ฅ์์ ๊ณ์ ์ ๋ง๋ค์๋ค๋ฉด ํด๋น ์ ๋ณด๋ก ์์ ํ๋ค.
<distributionManagement> <repository> <id>releases</id> <url>http://nexus.example.com/content/repositories/releases</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://nexus.example.com/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement>
distributionManagement์ย ๋ง๊ฒ .m2/settings.xml ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ค์ ํ๋ค.
<servers> <server> <id>releases</id> <username>deployment</username> <password>deployment123</password> </server> <server> <id>snapshots</id> <username>deployment</username> <password>deployment123</password> </server> </servers>
๋น๋๋๋ง๋ค ๋๋ฆด ๊ฐ๋จํ ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํด ๋ณด์. ์ด ํ ์คํธ ์ฝ๋๋ ์์์ ์์ฑํ Hello.java ๋ฅผ ํ ์คํธํ๋ HelloTest.java ์ด๋ค. ๋ฉ์ด๋ธ์ ํ์ค ๋๋ ํฐ๋ฆฌ ๊ตฌ์ฑ์ ๋ง๊ฒย src/test/java/com/example/HelloTest.java ํ์ผ๋ก ์ ์ฅํ์.
package com.example; import static org.junit.Assert.assertTrue; import org.junit.Test; public class HelloTest { @Test public void testHello( ) { Hello h = new Hello(); assertTrue(h.getMessage().contains("Hello")); } }
์ด์ ๋ชจ๋ ์ค๋น๊ฐ ๋๋ฌ๋ค. ์ ์์ ์ผ๋ก ๋์ํ๋์ง ๋ฉ์ด๋ธ ๋น๋๋ฅผ ๋๋ฆฌ๊ณ ์ ์ฅ์์ ๋ํ๋ก์ด ํด ๋ณด์.
mvn clean deploy
2๊ฐ์ ํ ์คํธ ์ผ์ด์ค๊ฐ ํต๊ณผํ๋ฉด ์ค๋ ์ท ์ ์ฅ์์ ๋ํ๋ก์ด ํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด์ ํ๋ก์ ํธ ๋น๋๊ฐ ์ฑ๊ณตํ๋ค๋ฉด ์์ค๋ฅผย ๋ฒ์ ๊ด๋ฆฌ์ ์ถ๊ฐํ ์์ ์ด๋ค. ํ์ง๋ง ์ง๊ธ์ ๋ฉ์ด๋ธ ๋น๋๋ก ์ธํด ์ํฐํฉํธ๊ฐ ์์ฑ ๋์๊ณ ์ง๊ธ ์ถ๊ฐํ๋ฉด ์ปดํ์ผ๋ ํด๋์ค์ ์ํฐํฉํธ๊ฐ ๋ฒ์ ๊ด๋ฆฌ์ ์ถ๊ฐ๋์ด ๋ฒ๋ฆฐ๋ค.
ํํ ํ๋ ์ค์๋ก ์ปดํ์ผํด์ ๋์ค๋ ๋ฐ์ด๋๋ฆฌ์ ์ํฐํฉํธ๋ฅผ ๋ฒ์ ๊ด๋ฆฌ์ ์ถ๊ฐํ๋ ๊ฑด ์ข์ง ์์ผ๋ฏ๋ก ๊นจ๋ํ๊ฒ ์ง์ฐ์. ๋ฉ์ด๋ธ์ clean ๊ณจ์ ์คํํ๋ ๋ช ๋ น์ด์ธ mvn clean ์ ์คํํ๊ฑฐ๋ ๋๋ target ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํ๋ฉด ๋๋ค.
ย
์ด์ ๋ฒ์ ๊ด๋ฆฌ ์๋ฒ์ ์์ค๋ฅผ ์ถ๊ฐํด ๋ณด์.ย
์๋ธ๋ฒ์ ์ ์ฌ์ฉํ๋ ๋ ์๋ค์ ์๋ธ๋ฒ์ ์ฅ์์ ์ตํ svn import ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๊ณ git ์ด๋ gitlab ์ฌ์ฉ ๋ ์๋ค์ ๊ฐ๊ฐ์ ์ ์ฅ์์ ํ๋ก์ ํธ๋ฅผ ์์ฑํด ๋ณด์.
์๊ฒฉ์ง์ ์๋ ๋ฒ์ ๊ด๋ฆฌ ์๋ฒ์ ๋ฃ์ด์ ์ค์ ํ๊ฒฝ๊ณผ ๋์ผํ๊ฒ ๊ตฌ์ฑํ๋๊ฒ ๋ ์ข์ง๋ง ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ฐ๋จํ๊ฒ ์ ํจ์ค๊ฐ ๊ตฌ๋๋๋ ์๋ฒ์์ ์ ํจ์ค ๊ณ์ ์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ ์ ์ฅ์๋ฅผ ๊ตฌ์ฑํด๋ ๋๋ค.
ย
์์ง ์๊ฒฉ ๋ฒ์ ๊ด๋ฆฌ ์๋ฒ๊ฐ ๊ตฌ์ถ๋์ง ์์๋ค๋ฉด ๊ฐ๋จํ๊ฒ ๋ก์ปฌ์์ ํ๊ฒฝ์ ๋ง๋ค์ด๋ ๋๋ค.
์๋ธ๋ฒ์ ์ฌ์ฉ์๋ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ ์ฐจ์ ๋ฐ๋ผ์ ๋น๋ํ ํ๋ก์ ํธ๋ฅผ ๋ฒ์ ๊ด๋ฆฌ ์ ์ฅ์์ ์ํฌํธ ํด ๋ณด์.
์๋ธ๋ฒ์ ์ ์ฅ์ ์ฐ๊ฒฐ ๋ฐฉ์์ด file:/// ์ผ ๊ฒฝ์ฐ ์๋ธ๋ฒ์ ์ด 1.8 ์ด๋ฉด ์ ํจ์ค์ ์ฐ๊ณํ ์ ์๋ค.
์๋ธ๋ฒ์ 1.8 ๋ถํฐ ์ ์ฅ์์ ๋ก์ฐ ๋ ๋ฒจ ํฌ๋งท์ด ๋ณ๊ฒฝ ๋์์ง๋ง ์ ํจ์ค์ ์๋ธ๋ฒ์ ํ๋ฌ๊ทธ์ธ์ 1.7 ์ด๋ฏ๋ก file:// ๋ฐฉ์์ ์ ์ฅ์๋ฅผ ์ฝ์ ์ ์๋ค.
์ด๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ด ์๋ค.
- ์๋ธ๋ฒ์ ํจํค์ง๋ฅผ 1.7 ๋ก ๋ค์ด๊ทธ๋ ์ด๋ (๊ถ์ฅํ์ง ์์)
- svnadmin create ๋ก ๋ก์ปฌ ์ ์ฅ์ ์์ฑ์ ํ์ ํธํ์ฑ ์ต์
์ผ๋ก ์์ฑ (๊ถ์ฅ)
svnadmin create ~/svnreposย --compatible-version 1.7ย - file:/// ๋ฐฉ์๋์ http:// ๋ https:// ๋ฐฉ์์ ์ ์ฅ์ ์ฐ๊ฒฐ ๋ฐฉ์์ ์ฌ์ฉ(๊ถ์ฅ)
ย
์๋ธ๋ฒ์ ์ ์ฅ์ ์์ฑ
svnadmin create ~/svnrepos
lib-helloย ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๋ค.
cd lib-hello
์์ค๋ฅผ ์๋ธ๋ฒ์ ์ ์ฅ์์ ์ํฌํธํ๋ค. ์ ์ฅ์๊ฐ ๋ก์ปฌ์ด๋ฏ๋ก URL ์ file:/// ์ด ๋ถ์ด์ผ ํ๋ค. ์ ์ฅ์ ๊ฒฝ๋ก๋ ์๋ธ๋ฒ์ ๊ด๋ก์ ๋ฐ๋ผ lib-hello/trunk ์ ๋ฃ๋๋ค. ${HOME} ๋ย ์ฌ์ฉ์์ ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋ฏธํ๋ ํ๊ฒฝ ๋ณ์์ด๋ค.
svn import .ย file:///${HOME}/svnrepos/lib-hello/trunkย -m "project import"
์ ์์ ์ผ๋ก ์ํฌํธ๋์๋ค๋ฉด ์๋ ์์ค ๋๋ ํฐ๋ฆฌ์ธ lib-helloย ๋ ์ญ์ ํ๊ฑฐ๋ ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ค.
cd ..
mv lib-hello lib-hello-org
์๋ธ๋ฒ์ ์ ์ฅ์์์ ์์ค๋ฅผ ์ฒดํฌ ์์ ํด ๋ณธ๋ค. ์ฒดํฌ ์์ํ๋ URL ์ ์ ํจ์ค์ ์์ ์ค์ ์ ๊ผญ ํ์ํ๋ฏ๋ก ์ ๊ธฐ์ตํด ๋์.
svn coย file:///${HOME}/svnrepos/lib-hello/trunkย lib-hello
ย
๊น ์ฌ์ฉ์๋ผ๋ฉด ๋ ๊ฐ๋จํ๊ฒ ๋ก์ปฌ์ ์ ์ฅ์๋ฅผ ๋ง๋ค์ ์๋ค.
lib-helloย ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๋ค.
cd lib-helloย
git ์ ์ฅ์๋ฅผ ์ด๊ธฐํํ๋ค.
git initย
ํ๋ก์ ํธ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ๋ฅผ ์คํ ์ด์ง ์์ญ์ ์ถ๊ฐํ๋ค.
git add pom.xml src/ย
๋ณ๊ฒฝ ๋ด์ญ์ ์ปค๋ฐํ๋ค.
git commit -m "first commit"ย
๊น๋ ์ ํจ์ค์์ ํด๋ก ํด์ผ ํ๋ฏ๋ก URL ์ด ํ์ํ๋ค. ๋ค์ ๋ก์ปฌ์ ์ ์ฅ์ URL ์ ๊ธฐ์ตํด ๋์. (๊ฒฝ๋ก๋ ๋ ์๋ง๋ค ๋ค๋ฅผ ์ ์๋ค.)
file:///${HOME}/lib-hello
์ด์ lib-hello ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๋ ์น app ์ธ hello-webapp ํ๋ก์ ํธ๋ฅผ ์์ฑํด ๋ณด์. ์ญ์ ๋ฉ์ด๋ธ์ ์ํคํ์ ์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ ์ด๊ธฐ ๊ตฌ์ฑ์ ํ ์ ์๋ค.
mvn archetype:generate -B -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=com.example -DartifactId=hello-webapp -Dversion=1.0
์ ์์ ์ผ๋ก ๋ฉ์ด๋ธ์ด ์คํ๋๋ค๋ฉด hello-webapp ๋ผ๋ ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋์ ๊ฒ์ด๋ค.
ย
์ด์ ํ๋ก์ ํธ ๊ตฌ์กฐ์ ๋ง๊ฒ ๋ฉ์ด๋ธ ์ค์ ํ์ผ์ธ pom.xml ์ ์์ ํด ๋ณด์. ย ์์ ํด์ผ ํ๋ ํญ๋ชฉ์ ๋ค์๊ณผ ๊ฐ๋ค.
lib-hello ์์กด์ฑ ์ถ๊ฐ : lib-hello ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก <dependency> ํญ๋ชฉ์ lib-hello ๋ฅผ ์ถ๊ฐํ์.
<dependency> <groupId>com.example</groupId> <artifactId>lib-hello</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
jUnit ๋ฒ์ ๊ฐฑ์ : ์ํคํ์ ์ผ๋ก ์์ฑํ๋ฉด jUnit 3 ๊ฐ ์ค์ ๋๋ฏ๋ก 4๋ก ๋ณ๊ฒฝํ์.
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.1</version> <scope>test</scope> </dependency>
๋ด๋ถ ๋ฅ์์ค ์ ์ฅ์ ์ถ๊ฐย : lib-hello ์ํฐํฉํธ๋ ๋ด๋ถ ๋ฅ์์ค ์ ์ฅ์์ ์์ผ๋ฏ๋ก ์ ์ฅ์ ์ค์ ์ด ์ ๋๋ก ๋์ง ์์ผ๋ฉด lib-hello ์ฐพ์ง ๋ชปํด์ ๋น๋๋ฅผ ํ์ง ๋ชปํ๋ฏ๋ก ์ ๋๋ก ์ค์ ํ์.
<repositories> <repository> <id>public</id> <name>internal maven Repository</name> <url>http://nexus.example.com/content/groups/public/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>public</id> <name>Maven Plugin Repository</name> <url>http://nexus.example.com/content/groups/public/</url> </pluginRepository> </pluginRepositories>
ย
ํธ์ง์ด ๋๋ฌ์ผ๋ฉด ์ ์ฅํ๊ณ ๋ฉ์ด๋ธ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๋น๋ ํด์ ์ ์ ์ค์ ์ฌ๋ถ๋ฅผ ํ์ธํด ๋ณด์.
mvn clean package
ย
๋น๋๊ฐ ์ฑ๊ณตํ๋ค๋ฉด ์ค์ ์ด ์ ์์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฒ์ด๋ค. lib-hello ๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๋ฉด ์ ์ฅ์๊ฐ ์๋ชป ์ค์ ๋์๊ฑฐ๋ ์ํฐํฉํธ์ ์ ๋ณด(groupId, arfitactId, version ๋ฑ)๊ฐ ์๋ชป ์ค์ ๋์์ ์์ง๊ฐ ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ์์๋ก ์์ธ์ ์ฐพ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋ณด์.
- ๋ฅ์์ค์ ์ํฐํฉํธ๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๋ค. ์น ๋ธ๋ผ์ฐ์ ๋ก ์ฐ๊ฒฐํ์ฌ ์ ์ฅ์๋ด ์ํฐํฉํธ๋ฅผ ์ง์ ํ์ธํด ๋ณด๋ฉด ํธ๋ฆฌํ๋ค.
- ์ ์ฅ์์ URL ์ ํ์ธํ ํ์ pom.xml ์ ์ค์ ํ ์ ๋ณด์ ์ผ์นํ๋์ง ํ์ธํ๋ค.
๋ณดํต ์ด์ฏค์์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง๋ง ๊ณ์ ์ํฐํฉํธ๋ฅผ ๋ชป ์ฐพ๋๋ค๋ฉด ๋ฅ์์ค์ ์ํฐํฉํธ๊ฐ ๋ํ๋ก์ด ๋๊ธฐ ์ ์ ๋ฉ์ด๋ธ ๋น๋๋ฅผ ์ํํด์ ๋ฌธ์ ๊ฐ ๋ ์ ์๋ค.
๋ฉ์ด๋ธ์ ๋ก์ปฌ ์ ์ฅ์์ ์ํฐํฉํธ ์ ๋ณด๋ฅผ ์บ์ฑํ๋๋ฐ ๋ฆด๋ฆฌ์ค ์ ์ฅ์์ผ ๊ฒฝ์ฐ ์ฌํ์ธํ๋ ์๊ฐ์ ๊ฐ๊ฒฉ์ด ๋งค์ฐ ๊ธธ๋ค.
๋ฉ์ด๋ธ ์คํ์ ๋ฅ์์ค์๋ lib-hello ์ํฐํฉํธ๊ฐ ์์๋ค๋ฉด ๋ฉ์ด๋ธ์ ๋ก์ปฌ ์ ์ฅ์์ ์ํฐํฉํธ์ "Not Found" ์ ๋ณด๋ฅผ ์ค์ ํ๊ณ ์ผ์ ์๊ฐ๋์ ๊ณ์ ์บ์ฑํ๊ณ ์๋๋ค.
์ดํ์ ๋ฅ์์ค์ lib-hello ์ํฐํฉํธ๊ฐ ๋ํ๋ก์ด๋๋ ๋ฉ์ด๋ธ์ ์บ์ฑ ์ ๋ณด๋ง ์ฌ์ฉํ์ฌ ์ํฐํฉํธ๊ฐ ์๋ค๊ณ ํ์ํ ์ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํด ๋ณผ ์ ์๋ค.
- ๋ก์ปฌ ์ ์ฅ์์ ์ํฐํฉํธ ์บ์ฑ ์ ๋ณด ์ญ์
$HOME/.m2/repository ๋ฐ์ ๊ทธ๋ฃนID ํ์์ผ๋ก ๋๋ ํฐ๋ฆฌ๊ฐ ์์ฑ๋์ด ์๋ค. ย ~/.m2/repository/com/example/ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํ๋ฉด ๋ฉ์ด๋ธ์ด ๋ฅ์์ค์ ์๋ก ์ ์ํ๋ฏ๋ก ย ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ์ ์๋ค. - ๋ฉ์ด๋ธ ์คํ์ ๊ฐ์ ์
๋ฐ์ดํธ ์ต์
์ธย -U ์ถ๊ฐ
๋ฉ์ด๋ธ์ ๋ก์ปฌ ์ ์ฅ์ ์บ์๋ฅผ ์ฌ์ฉํ์ง ์๋๋ก -U ์ต์ ์ ์ถ๊ฐํ์ฌ ์คํ
ย
์ด์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ณ ์ ์ ๋น๋๋์๋ค๋ฉด ๋ฒ์ ๊ด๋ฆฌ์ ์ํฌํธ ํด๋ณด์.
๋จผ์ ์๋ธ๋ฒ์ ์ฌ์ฉ์์ด๋ค. ๋ก์ปฌ ์ ์ฅ์๋ ์์์ ์ด๋ฏธ ์์ฑํ์ผ๋ฏ๋ก ์ํฌํธ๋ง ํ๋ฉด ๋๋ค.
hello-webapp ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๋ค.
cd hello-webappย
ํ๋ก์ ํธ ์์ค๋ฅผ ์๋ธ๋ฒ์ ์ ์ฅ์์ hello-webapp/trunk ๊ฒฝ๋ก์ ์ํฌํธ ํ๋ค.
svn import .ย file:///${HOME}/svnrepos/hello-webapp/trunkย -m "project import"ย
์ ์์ ์ผ๋ก ์ํฌํธ๋์๋ค๋ฉด ์๋ ์์ค ๋๋ ํฐ๋ฆฌ์ธ hello-webapp๋ ์ญ์ ํ๊ฑฐ๋ ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ค.
cd ..
mv hello-webapp hello-webapp-orgย
์๋ธ๋ฒ์ ์ ์ฅ์์์ ์์ค๋ฅผ ์ฒดํฌ ์์ ํด๋ณธ๋ค. ์ฒดํฌ ์์ํ๋ URL ์ ์ ํจ์ค์ ์์ ์ค์ ์ ๊ผญ ํ์ํ๋ฏ๋ก ์ ๊ธฐ์ตํด ๋์.
svn coย file:///${HOME}/svnrepos/hello-webapp/trunkย hello-webappย
ย
๊น ์ฌ์ฉ์๋ hello-webapp ํ๋ก์ ํธ๋ฅผ ๋ก์ปฌ ์ ์ฅ์์ ์ถ๊ฐํ์.
hello-webapp ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ๋ก ์ด๋ํ๋ค.
cd hello-webappย
git ์ ์ฅ์๋ฅผ ์ด๊ธฐํํ๋ค.
git initย
ํ๋ก์ ํธ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ๋ฅผ ์คํ ์ด์ง ์์ญ์ ์ถ๊ฐํ๋ค.
git add pom.xml src/ย
๋ณ๊ฒฝ ๋ด์ญ์ ์ปค๋ฐํ๋ค.
git commit -m "first commit"ย
์ด์ ์ ํจ์ค์์ ํด๋ก ํ ์ ์๊ฒ ๋ค์ ๋ก์ปฌ ์ ์ฅ์ URL ์ ๊ธฐ์ตํด ๋์. (๊ฒฝ๋ก๋ ๋ ์๋ง๋ค ๋ค๋ฅผ ์ ์๋ค.)
file:///${HOME}/hello-webapp