2016-12-29 1 views
1

Wildfly Swarm을 사용하여 정적 HTML 페이지가있는 webapp 폴더를 JAXRSArchive에 추가하려고합니다. 그러나 불행히도 성공하지 못했습니다. 어떻게해야합니까?Wildfly Swarm JAXRSArchive webapp 디렉토리 추가

+0

문제를 해결 했습니까? 나는 같은 문제가있다. –

답변

0

는 사용자 정의 주를 필요로 왜에 정교한

public static void main(String... args) throws Exception { 
    Swarm container = new Swarm(); 
    JAXRSArchive jaxrsDeployment = ShrinkWrap.create(JAXRSArchive.class); 
    jaxrsDeployment.addAsLibrary(container.createDefaultDeployment()); 
    jaxrsDeployment.addAllDependencies(); 
    jaxrsDeployment.staticContent(); 
    container.start(); 
    container.deploy(jaxrsDeployment); 
+0

나는 똑같은 짓을했으나 나에게는 효과가 없다. 어쩌면 내가 뭔가 놓친거야? – Nikita

+0

jar/war의 내용을 확인하고 제대로 추가되는지 확인하십시오. – ravthiru

+0

그건 문제입니다. 그들은하지 않습니다. – Nikita

0

을 다음과 같이 staticContenet를 호출을 추가 src/main/webapp에 당신의 주요 방법으로 모든 정적 파일을 복사()?

선호되는 옵션은 사용자 정의 main()을 사용하지 않거나 사용자 정의 main()을 사용하여 배치를 사용자 정의하지 않을 경우입니다.

당신은 호출 할 수 있습니다 Swarm.deploy()과 프로젝트 유형 전쟁의 경우,

+0

나는 자바 기반 접근법을 좋아한다. 또한이 배포 사용자 지정은 대부분의 wildfly-swarm 예제 (예 : swagger 추가)에 사용됩니다. 나를 위해 그것은 더 좋은 접근과 같지만 문서화가 잘되어 있지 않습니다. – Nikita

+0

예제 및 설명서의 대부분은 배포를 사용자 정의하므로 훨씬 쉽습니다. – Nikita

+0

어떤 방식 으로든 WAR를 커스터마이징해야하기 때문에 커스텀 main()이 필요하다면, Swarm.createDefaultDeployment()를 사용하여 Maven WAR 패키징과 동일한 아카이브를 처음부터 새로 만들지 말고 – Ken

0

이 질문은 오래된 잘 작동하는 기본 배치를 작성합니다. 그러나 나는 같은 문제를 겪는 사람들을 위해이 솔루션을 게시한다.

@ApplicationPath을 지정하지 않고 JAX-RS을 사용하는 경우 문제가 발생할 수 있습니다.

기본적으로 JAX-RS는 앱의 루트 /을 수신하고 표준 매핑을 무시합니다. 이 같은 구성을 추가해야이 경우

:

import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Application; 

@ApplicationPath("/api") 
public class JaxRSConfiguration extends Application { 
} 

/api와 모든 JAX-RS 엔드 포인트를 앞에 당신이 정적 콘텐츠와 함께 작동하게됩니다.

관련 문제