공부

0221 war jar test전

삶은고구마 2024. 2. 21. 09:50

https://www.notion.so/shqkel/Build-Tools-3b52a990fed94594a9002a6deddc4594

 

Build Tools | Notion

목차

shqkel.notion.site

 

CI/CD

Continuous Intergration 지속적인 통합 [ 빌드 ]  / Continuous Delivery 

 

jar, war를 생성하는 작업을 build라고 한다.

 

 

 

 

 

금일 평가

프로젝트-> app.jar or app.war로 생성->실행

 


war

단독실행 불가능.(Web Archive)

압축 x , 묶음.

톰캣 webapps에 등록해서 실행

 

jar(Java Archive , executable jar)

단독실행 가능.

안에 톰캣이 있음.

$java -jar app.jar (도커파일 명령어중에도 이 구문이 있다고함)

 

intellij의 프로젝트

언제 war , jar로 나눠서 만들까?

 

and (xml 기반

maven (xml 기반 ->war jar 생성 가능 ->오늘은 이걸로 war 생성 

gradle (groovy 기반 ->war jar 생성 가능 ->오늘은 이걸로 jar 생성

-

hello-spring-webmvc 

lifecycle

1.clean

2.package

pom.xml에 보면 이렇게 되어있음. 확인하고 패키지 실행..

<packaging>war</packaging>

3.결과물은 target 하위에 있음 

~war 파일

4.copy해서 dev-tomcat10 - webapps경로에 둘 것

중요한건 파일명인데 이게 contextpath로 쓰임

spring.war로 수정.

 

5.dev-tomcat10-bin-startup.bat실행

6.localhost:8080/spring 실행

 

-

jar ver

hello-springboot

gradle view open(우측)

hello-springboot

tasks

bulild-clean (target대신 build 클린하는것)

=>build디렉토리가 사라짐(지워짐)

build-build 실행

만약 build시 test단에서 에러가 난다면 test를 모두 disable/build우클릭 modify..

build -x test

성공시

 

 

생성한 해당 파일을 바탕화면에두고 cmd 실행 

C:\Users\user1\Desktop>java -jar hello-springboot-0.0.1-SNAPSHOT.jar

 

jar 생성시 포트설정

yml에서.

 

war는?

실행할 tomcat 의 conf 폴더 - server.xml

아래 단에서 port 8080 부분을 수정하면 바꿔서 실행이 가능하다!

8080:실제 실행

8005:셧다운 기다리는 포트

=>두 포트 모두 열려있어야 하고 겹쳐서 안됨.

  <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               maxParameterCount="1000"
               />