[Error] IntelliJ <packaging> war </packaging> 주의사항

김상혁·2021년 4월 5일
0

Error

목록 보기
7/8

<IntelliJ 기준>

Jenkins에서 자동 배포할 때 편리하게 하기 위해 pom.xml에 아래 코드를 추가한 뒤로 원인을 알 수 없는 오류가 났다.

2일동안 찾으며 검색해서 나오는 구글 글을 다 들어갔지만 정확한 원인은 찾지 못했다..

<packaging> war </packaging>  

오류 원인이 나오지도 않고
" Artifact myLunch_2:war exploded: Error during artifact deployment. See server log for details."

이런 오류가 났고, 정확한 원인은 아직 찾지 못했지만 깃 커밋을 하나하나 거슬러 올라가면서 해결 방법은 찾았다.

pom.xml에 war packaging 코드를 추가하고 project.iml 파일을 열면

root url이 없는 파일로 설정된다. 위 root url을 아래와 같이 바꾸자

<root url="file://$MODULE_DIR$/web" relative="/" />

새로운 프로젝트를 만든 뒤 war packaging 설정을 추가하고 위처럼 진행하면 오류가 사라지지만, 이미 진행중인 프로젝트에서는 여전히 오류가 남아있을 수 있다.

내 경우엔 위처럼 바꿔도 오류가 났었고 web.xml에 문제가 있었다.

context.xml 위치를 선언해주는 부분에서 평소 경로 그대로 /WEB-INF/applicationContext.xml 이렇게 되어있었지만, 이상하게 오류가 났다.

web/WEB-INF/applicationContext.xml로 바꾸면 오류가 사라지지만 실행이 되지 않고 해결방법을 찾지 못해 깃 허브에 백업해둔 web.xml을 붙여넣었다..


Jenkins를 위해 WAR 패키징을 적지 말고 아래처럼 추가한 뒤 젠킨스에서 설정해주자!

젠킨스 설정은 나중에 업로드 할 예정

        <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.3.1</version>
        </dependency>
<!-- build가 있으면 안에 plugins 넣고 없으면 dependencies 밑에 만들기 !-->
    <build>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.3.1</version>
                <configuration>
                    <webXml>web\WEB-INF\web.xml</webXml>
                </configuration>
            </plugin>

            <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source />
                    <target />
                </configuration>
            </plugin>
        </plugins>

    </build>

0개의 댓글