문제
버전 번호가 없도록 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
이 방법은 일반적으로 전쟁에 적용되며, 성배뿐만 아니라 전쟁에 적용됩니다.