2016-05-23 21 views
0

grails warは毎回異なるWARファイルを生成するのはなぜですか?コマンドラインで、私は以下の動作を観察します。なぜ `grails war`は毎回違うWARを作りますか?

$ grails test war 
| Done creating WAR target/foo-2.5.3.war 
MacBook-Air:foo mba$ md5 target/foo-2.5.3.war 
MD5 (target/foo-2.5.3.war) = af45e22b24d158a72c9a0db67cd31417 

$ grails test war 
| Done creating WAR target/foo-2.5.3.war 
MacBook-Air:foo mba$ md5 target/foo-2.5.3.war 
MD5 (target/foo-2.5.3.war) = 157635f7d152cb56bc3b5bd731a8fb6e 

事を変えずに、私がしたすべては2回続けて同じgrails test warコマンドを実行しました。 2回目の実行で生成されたWARファイルには、最初のものとは異なるMD5チェックサムがあります。なぜ誰かが私の理解を助けることができますか?それが価値あるものについては、私はGrails 2.5.0を実行しています。

答えて

1

Warilsを生成すると、Warilsはデフォルトのアプリケーション(grails create-app foo->grails war)でいくつかの場所にタイムスタンプを挿入または更新します。

  • application.properties
  • views.properties
  • manifest.properties

さらに、これらのプロパティファイルの一部の文字列の順序は保証されませんので、いくつかの行が表示されます。

はのタイムスタンプがありますその後の実行では異なる順序で実行されます。

ここで私が得た、完全なdiffがあります:

diff -ru tmp1/ tmp2/ 
diff -ru tmp1/WEB-INF/classes/application.properties tmp2/WEB-INF/classes/application.properties 
--- tmp1/WEB-INF/classes/application.properties 2016-05-23 16:36:44.000000000 -0400 
+++ tmp2/WEB-INF/classes/application.properties 2016-05-23 16:37:24.000000000 -0400 
@@ -1,4 +1,4 @@ 
-#Mon, 23 May 2016 16:36:43 -0400 
+#Mon, 23 May 2016 16:37:24 -0400 
#Grails Metadata file 
#Mon May 23 16:35:56 EDT 2016 
app.grails.version=2.5.1 
diff -ru tmp1/WEB-INF/classes/gsp/views.properties tmp2/WEB-INF/classes/gsp/views.properties 
--- tmp1/WEB-INF/classes/gsp/views.properties 2016-05-23 16:36:42.000000000 -0400 
+++ tmp2/WEB-INF/classes/gsp/views.properties 2016-05-23 16:37:22.000000000 -0400 
@@ -1,8 +1,8 @@ 
#Precompiled views for databaseMigration 
-#Mon May 23 16:36:42 EDT 2016 
+#Mon May 23 16:37:21 EDT 2016 
/WEB-INF/plugins/database-migration-1.4.0/grails-app/views/dbdoc/_overview-summary.gsp=gsp_databaseMigration_dbdoc_overview_summary_gsp 
-/WEB-INF/plugins/database-migration-1.4.0/grails-app/views/dbdoc/_stylesheet.gsp=gsp_databaseMigration_dbdoc_stylesheet_gsp 
/WEB-INF/plugins/database-migration-1.4.0/grails-app/views/dbdoc/_index.gsp=gsp_databaseMigration_dbdoc_index_gsp 
+/WEB-INF/plugins/database-migration-1.4.0/grails-app/views/dbdoc/_stylesheet.gsp=gsp_databaseMigration_dbdoc_stylesheet_gsp 
/WEB-INF/grails-app/views/index.gsp=gsp_5index_gsp 
/WEB-INF/plugins/database-migration-1.4.0/grails-app/views/dbdoc/_globalnav.gsp=gsp_databaseMigration_dbdoc_globalnav_gsp 
/WEB-INF/grails-app/views/layouts/main.gsp=gsp_5_layoutsmain_gsp 
diff -ru tmp1/assets/manifest.properties tmp2/assets/manifest.properties 
--- tmp1/assets/manifest.properties 2016-05-23 16:36:54.000000000 -0400 
+++ tmp2/assets/manifest.properties 2016-05-23 16:37:26.000000000 -0400 
@@ -1,5 +1,5 @@ 
# 
-#Mon May 23 16:36:53 EDT 2016 
+#Mon May 23 16:37:25 EDT 2016 
apple-touch-icon-retina.png=apple-touch-icon-retina-21d524e96ee946f16c9b8fb4ea0c3f6e.png 
skin/information.png=skin/information-3750c701d2ec35a45d289b9b9c1a0667.png 
skin/database_add.png=skin/database_add-82a75143b4660a3f02f9c058f0a3ae93.png 
@@ -20,9 +20,9 @@ 
errors.css=errors-81f3e38a6e878acd57e3d51912c37b04.css 
main.css=main-46ae5880f56b5942fc138e25d2f87c47.css 
jquery/jquery-1.11.1.min.map=jquery/jquery-1.11.1.min-ffbeb16578d8cdf58104889baacbbef2.map 
-favicon.ico=favicon-9ef27019cc7a636e29ecc851528f716e.ico 
skin/database_save.png=skin/database_save-8303213a3c95654e14d5afd4e72ed4c2.png 
-skin/sorted_desc.gif=skin/sorted_desc-b85986b88116c4b0ef7571a1c4f3cfa3.gif 
+favicon.ico=favicon-9ef27019cc7a636e29ecc851528f716e.ico 
grails_logo.png=grails_logo-eabe4af98753b0163266d7e68bbd32e3.png 
+skin/sorted_desc.gif=skin/sorted_desc-b85986b88116c4b0ef7571a1c4f3cfa3.gif 
jquery/jquery-1.11.1.min.js=jquery/jquery-1.11.1.min-ac124bf54878ec7f20b578d3e627d6a8.js 
skin/house.png=skin/house-99bea32e1990e011e870f6c562e87a6a.png 
関連する問題