티스토리 뷰

반응형

회사에서 외장 Tomcat 에 Deploy 하는 소스가 있었습니다. 저는 반골이라, Tomcat 쓰고 싶지 않았습니다. 그래서 다음과 같이 Wildfly 을 위한 내용을 추가하여 Tomcat 와 마찬가지로 Wildfly 에서 제대로 동작하도록 하였습니다.

참고로, 소스는 Java 11, Spring 4 with Maven 이었습니다. (힘들다...)

 

1. jboss-web.xml

기존 프로그램은 context root 가 /  였습니다. Wildfly 는 배포기술자를 이용해 이 경로를 수정해줘야 합니다. 그래서 WEB-INF/ 아래에 jboss-web.xml 파일을 생성하고 다음과 같은 내용을 추가해야 합니다.

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns="http://www.jboss.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="
      http://www.jboss.com/xml/ns/javaee
      http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd">
    <context-root>/</context-root>
</jboss-web>

 

2. pom.xml

Java 9 에서 직소 프로젝트가 적용되면서 참 많은 혼란을 겪고 있습니다. 아래와 유사한 오류 메세지가 발생할 수 있습니다.

WildFlySecurityManager uses sun.misc.Unsafe.
Unsafe works only with jdk.unsupported module enabled.
jdk.unsupported is not resolved by default so we need to activate it

이 문제를 해결하기 위해 pom.xml 에 다음과 같은 내용을 추가해야 합니다.

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.2.0</version>
				<configuration>
					<warName>test-war</warName>
					<warSourceDirectory>src/main/webapp</warSourceDirectory>
					<failOnMissingWebXml>false</failOnMissingWebXml>
					<archive>
						<manifestEntries>
							<Dependencies>jdk.unsupported</Dependencies>
						</manifestEntries>
					</archive>
				</configuration>
			</plugin>
		</plugins>
	</build>

이미 maven-war-plugin 이 설정되어 있을 가능성이 클것입니다. <archive> 의 내용만 추가하면 오류가 발생하지 않을 것입니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
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
글 보관함