문제

버전 번호가 없도록 Grails War 파일을 어떻게 작성합니까?

(예 : foo-0.1.war)

'Grails War'명령을 실행할 때 끝에 첨부 되었습니까?

도움이 되었습니까?

해결책

전쟁 명령에서 전쟁 이름을 지정할 수 있다고 생각합니다.

grails war foo.war

또한 구성 옵션으로 설정할 위치에 대한 최신 Grails 문서를 확인하십시오. 자세한 내용은 다른 답변을 참조하십시오.

다른 팁

누구 든지이 기사를 작성하고 Grails 1.3.x를 사용하는 경우 구성 옵션이 변경되었습니다. grails.war.destFile 안에 Config.groovy 존재합니다 grails.project.war.file 안에 BuildConfig.groovy.

또한 파일 이름은 프로젝트 작업 공간과 관련이 있으므로 다음과 같은 값이 있어야합니다.

grails.project.war.file = "target/${appName}.war"

이것은 최신에 따른 것입니다 문서를 성배합니다.

로부터 문서를 성배합니다, 17 장, 배포

생성 된 전쟁 파일을 사용자 정의 할 수있는 방법에는 여러 가지가 있습니다. 예를 들어, 파일을 배치 할 위치 및 제공 할 이름을 지시하는 명령에 경로 (절대 또는 상대)를 지정할 수 있습니다.

grails war /opt/java/tomcat-5.5.24/foobar.war

또는 기본 위치와 파일 이름을 변경하는 config.groovy에 라인을 추가 할 수 있습니다.

grails.war.destFile = "foobar-prod.war"

물론, 귀하가 제공하는 명령 줄 인수는이 설정을 무시합니다.

다른 훌륭한 답변을 굴립니다. 몇 가지 옵션이 있습니다.

명령 줄에서 명시 적으로 설정하십시오. grails war foo.war

설정 app.version Application에서 비어있는 속성. foo.war.

The를 사용하여 전쟁의 이름을 명시 적으로 설정하십시오 grails.war.destFile config.groovy의 속성

Grails 3.x는 Gradle로 전환하여 사용합니다 전쟁 플러그인. 당신은 이와 같은 이름을 지정할 수 있습니다 build.gradle 파일:

war {
    archiveName 'foo.war'
}

버전 번호없이 전쟁 파일을 생성하는 또 다른 방법은 재산을 유지하는 것입니다. app.version, application.properties

나는 파티에 늦었지만 ... 어쨌든 :

버전 번호를 제거한 이유는 전쟁 파일 이름을 바꾸어 배치 할 필요가 없다고 생각합니다.옳은"컨텍스트 경로 /appName. 이 경우 더 나은 옵션은 버전의 전쟁 파일 이름을 사용하여 다음 명명 패턴을 사용하여 Tomcat에 동시에 여러 버전을 배포 할 수 있습니다. Grails-App/conf/buildconfig.groovy:

grails.project.war.file = "target/${appName}##${appVersion}.war"

설명 된 바와 같이 http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#parallel_deployment

이 방법은 일반적으로 전쟁에 적용되며, 성배뿐만 아니라 전쟁에 적용됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top