포스코DX X 비트교육센터 6기


배포하기

  • 부모의 설정이 자식에게 상속된다.

  • 연습이니까 자식 pom.xml에 설정을 할 것이다.

image

  • servlet practices 의 run as -> maven build 에서 다음과 같은 에러가 발생하는 이유

image

이클립스한테, server runtime을 설정해줌.

image

이클립스가 메이븐을 실행시켜주는 것이다.

근데, 메이븐은 only 메이븐일 뿐이다. 아무것도 모른다. 이클립스가 자길 실행시켜주는지, jenkins가 실행시켜주는지 모르고, pom.xml만 보고 실행시킬 뿐이다.

그래서 이 에러가 발생하면, pom.xml에 dependency를 추가하면된다.

	<dependencies>
		<dependency>
		    <groupId>org.mariadb.jdbc</groupId>
		    <artifactId>mariadb-java-client</artifactId>
		    <version>3.0.8</version>
		</dependency>

                <!-- servlet-->
		<dependency>
		    <groupId>javax.servlet</groupId>
		    <artifactId>javax.servlet-api</artifactId>
		    <version>4.0.1</version>
		    <!-- war를 풀지 않겠다. 사이즈가 큰 것을 막음.-->
		    <scope>provided</scope>
		</dependency>
				
		<dependency>
		    <groupId>javax.servlet.jsp</groupId>
		    <artifactId>jsp-api</artifactId>
		    <version>2.2</version>
		</dependency>		
	</dependencies>
  • 플러그인에 대해서도 알아보기.
<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.4.0</version>
				<configuration></configuration>
			</plugin>			
		</plugins>
	</build>
  • 공식 기본 플러그인은 maven이라는 이름이 붙음.
  • 기본이기에, 보통 따로 작성하지는 않는다.
  • configuration이라는 option을 추가할 때, 명시해서 적어준다.

  • 톰캣 플러그인의 경우 여기에 설정이 필요하다.
<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.3.2</version>
			</plugin>	
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<url>http://[ip주소]:8080/manager/text</url>
					<username>[유저네임]</username>
					<password>[비밀번호]</password>
				</configuration>
			</plugin>			
		</plugins>
	</build>	
  • 이곳에 url, username, password 다 적어두면, 채굴기 깔아서 막 나쁜 짓을 한다!
  • 깃허브에서 팔로우 많이 하고 있는 사람들 = 이상한 사람들!!

  • 그래서
<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.3.2</version>
			</plugin>	
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<url>${tomcat.deploy.url}</url>
					<server>poscodx-tomcat</server>
				</configuration>
			</plugin>			
		</plugins>
	</build>	

******플러그인은 부모 pom.xml에게!!!!!!!!!!!!!!!!!!!!!

이걸 이렇게 바꿔주기 위해서 리눅스에 세팅을 해주면 된다.

[root@lx ~]# cd .m2
[root@lx .m2]# pwd
/root/.m2
[root@lx .m2]# ls
repository
[root@lx .m2]# ls -la
합계 4
drwxr-xr-x.  3 root root   24  8월 24 15:39 .
dr-xr-x---. 12 root root 4096  9월  1 14:10 ..
drwxr-xr-x. 12 root root  185  8월 24 16:16 repository
[root@lx .m2]# vi settings.xml

settings.xml에

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/settings/1.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
	<profiles>
		<profile>
        		<id>production</id>
        		<properties>
            			<tomcat.deploy.url>http://[ip주소]:8080/manager/text</tomcat.deploy.url>
        		</properties>
    		</profile>
	</profiles>
	<servers>
		<server>
			<id>poscodx-tomcat</id>
			<username>[유저네임]</username>
			<password>[비밀번호]</password>
		</server>
	</servers>
</settings>

넣기!!!!!

image

-프리스타일 > ok

image

image

이제!!!

http://192.168.0.178:8080/mysite02/

로 접근 가능!