반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- ajax
- popup
- mysql
- Eclipse
- rocky9
- centos7
- Maven
- javascript
- Push
- node.js
- Next.js
- git
- MariaDB
- mybatis
- pwa
- security
- submit
- jenkins
- yona
- jquery
- spring3
- PM2
- FCM
- NextJS
- docker
- config
- MSsql
- nodejs
- Java
- SpringBoot
Archives
- Today
- Total
ふたりで
springboot+maven 개발+운영+local application.properties 분리(resources폴더 분리) 본문
Maven
springboot+maven 개발+운영+local application.properties 분리(resources폴더 분리)
graykang 2020. 12. 4. 16:52728x90
반응형
SMALL
1. 프로젝트 구조
프로젝트 명은 캡처하지 않았다. 머 예를 들면 graykang이라는 폴더 내에 아래 그림과 같은 구조로 되어있다고 보면 된다.
2. pom.xml 내에 profiles 설정 상태.
local의 경우 개발 PC 환경이기 때문에 activeByDefault 값을 true로 해주었다.
<profiles>
<profile>
<!-- 패키징(빌드시) ㅡ그냥maven install-->
<id>local</id>
<properties>
<maven.test.skip>true</maven.test.skip>
<deploy.phase>local</deploy.phase>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 패키징(빌드) Goals옵션 clean package -Pdev -->
<id>dev</id>
<properties>
<maven.test.skip>true</maven.test.skip>
<deploy.phase>dev</deploy.phase>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
<profile>
<!-- 패키징(빌드) Goals옵션 clean package -Prelease -->
<id>release</id>
<properties>
<maven.test.skip>true</maven.test.skip>
<deploy.phase>release</deploy.phase>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
3. pom.xml 내에 build 설정 상태
<build>
<!-- dev 또는 release또는 local로 패키징시 아래 설정한 path들을 참고 한다.-->
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<outputDirectory>${project.basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>resources-${deploy.phase}/</directory>
<filtering>true</filtering>
</resource>
</resources>
<!-- 개발서버에 패키징(빌드) 및 배포시 Goals 옵션[clean tomcat7:undeploy tomcat7:deploy -Pdev] -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<server>TomcatServer</server> <!-- 이부분은 .m2/setting.xml 설정을 참조한다. -->
<url>http://127.0.0.1:8080/manager/text</url>
<path>/testpro</path> <!-- 이부분이 서비스 context명 -->
<update>true</update>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
728x90
반응형
LIST
'Maven' 카테고리의 다른 글
Intellij+maven+goal+tomcat+deploy+test(Server) (0) | 2022.12.20 |
---|---|
springboot2 +maven spring.profiles.active 개발/운영 profile (0) | 2020.05.12 |
Comments