質問
grails warファイルを作成して、バージョン番号を持たないようにする方法
(e.g。foo-0.1.war)
「grails war」コマンドを実行すると、最後に追加されますか?
解決
warコマンドでwar名を指定できると思います。
grails war foo.war
また、これを構成オプションとして設定する場所については、最新のGrailsのドキュメントを確認してください。詳細については、他の回答を参照してください。
他のヒント
誰かがこの記事を読んでGrails 1.3.xを使用している場合、構成オプションは Config.groovy
の grails.war.destFile
から< BuildConfig.groovy
のcode> grails.project.war.file 。
また、ファイル名はプロジェクトワークスペースに関連しているため、次のような値を持つ必要があります。
grails.project.war.file =&quot; target / $ {appName} .war&quot;
これは、最新の Grailsのドキュメントに基づいています。
Grailsドキュメント、 第17章、展開
また、WARファイルをカスタマイズする方法はたくさんあります 作成した。たとえば、指定できます パス(絶対または相対) どこにそれを指示するコマンドに ファイルと名前を配置する それを与える:
grails war /opt/java/tomcat-5.5.24/foobar.war
代わりに、次の行を追加できます デフォルトを変更するConfig.groovy 場所とファイル名:
grails.war.destFile = "foobar-prod.war"
もちろん、任意のコマンドライン引数 あなたが提供することはこれをオーバーライドします 設定。
他の優れた回答をまとめる。いくつかのオプションがあります:
コマンドラインで明示的に設定します: grails war foo.war
application.propertiesで app.version
プロパティを空に設定すると、warの名前が foo.war
になります。
Config.groovyの grails.war.destFile
プロパティを使用して、戦争の名前を明示的に設定します
Grails 3.xはgradleに切り替わり、 war プラグインを使用します。 build.gradle
ファイルで次のような名前を指定できます。
war {
archiveName 'foo.war'
}
バージョン番号なしでwarファイルを生成する別の方法は、 application.properties
でプロパティ app.version を空のままにすることです。私はパーティーに少し遅れていますが...とにかく:
バージョン番号を削除した理由は、warファイルを&quot; correct &quot;にデプロイする必要がないようにするためだと思います。コンテキストパス / appName 。その場合は、バージョン管理されたwarファイル名を使用して、 grails-app / conf / BuildConfig.groovy の次の命名パターンを使用して、Tomcatに同時に複数のバージョンをデプロイすることをお勧めします。
grails.project.war.file = "target/${appName}##${appVersion}.war"
http://tomcat.apacheで説明されています。 org / tomcat-7.0-doc / config / context.html#Parallel_deployment
この方法は、杯の戦争だけでなく、一般的な戦争にも適用されます。