商品管理アプリケーション

移転しました。

exa の資料(AndroMDA入門ガイド1.5.2 )に基づいて 商品管理アプリケーションを作成してみる。

モデル作成、クラスメソッドの上書きなど順調に終わり、

mvn install

も無事成功。

今度はすんなりできそうだなぁ、と思いきやまたトラブル発生(涙

mvn -f core/pom.xml andromdapp:schema -Dtasks=create

を実行しても、DBにテーブルが作成されない。。。

原因を調べてみると、どうやら作成されるはずのsqlファイルが作成されてない。

C:\androMDA\goods_management>mvn -f core/pom.xml andromdapp:schema -Dtask=create

[INFO] Scanning for projects...
[INFO] Searching repository for plugin with prefix: 'andromdapp'.
[INFO] -------------------------------------------------------------------------
---
[INFO] Building Goods Management Core Business Tier
[INFO]    task-segment: [andromdapp:schema]
[INFO] -------------------------------------------------------------------------
---
[WARNING]
        Artifact commons-logging:commons-logging:jar:1.0.4:provided retains loca
l scope 'provided' overriding broader scope 'compile'
        given by a dependency. If this is not intended, modify or remove the loc
al scope.

Downloading: http://team.andromda.org/maven2/groovy/groovy-all-1.0-jsr/06/groovy
-all-1.0-jsr-06.pom
[WARNING] Unable to get resource 'groovy:groovy-all-1.0-jsr:pom:06' from reposit
ory andromda (http://team.andromda.org/maven2)
Downloading: http://repo1.maven.org/maven2/groovy/groovy-all-1.0-jsr/06/groovy-a
ll-1.0-jsr-06.pom
[WARNING] Unable to get resource 'groovy:groovy-all-1.0-jsr:pom:06' from reposit
ory central (http://repo1.maven.org/maven2)
[INFO] [andromdapp:schema]
[INFO] No scripts found to execute
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6 seconds
[INFO] Finished at: Sun Sep 23 01:14:06 JST 2007
[INFO] Final Memory: 7M/13M
[INFO] ------------------------------------------------------------------------

いろいろ調べてみると 設定ファイルを以下のように直せばよいよいだ。

PROJECT_ROOT/core/pom.xml

<configuration>
    <jdbcDriver>${jdbc.driver}</jdbcDriver>
    <jdbcDriverJar>${jdbc.driver.jar}</jdbcDriverJar>
    <jdbcConnectionUrl>${jdbc.url}</jdbcConnectionUrl>
    <jdbcUsername>${jdbc.username}</jdbcUsername>
    <jdbcPassword>${jdbc.password}</jdbcPassword>
    <properties>
        <property>
          <name>mappingsLocation</name>
          <value>${project.basedir}/target/src</value>
        </property>
        <property>
          <name>mappingFileExtension</name>
          <value>hbm.xml</value>
        </property>
        <property>
          <name>createOutputPath</name>
          <value>${project.basedir}/../app/target/schema-create.sql</value>
        </property>
        <property>
          <name>dropOutputPath</name>
          <value>${project.basedir}/../app/target/schema-drop.sql</value>
        </property>
     </properties>
     <!-- ↓↓↓↓↓ ADD ↓↓↓↓↓↓ -->
     <tasks>drop,create</tasks>
     <!-- ↑↑↑↑↑ ADD ↑↑↑↑↑↑ -->
</configuration>

以下を参照。
http://galaxy.andromda.org/forum/viewtopic.php?t=4015&postdays=0&postorder=asc&highlight=scripts+execute&start=15

その後に、

mvn -f core/pom.xml andromdapp:schema -Dtasks=drop,create

これでテストテーブル[GOODS]が作成され、問題なくアプリが動作。
なんとか無事、商品管理アプリケーションの動作も確認できた。

ただ、この後 tasks の記述を消してもsqlファイルが作成されるようになった。。

なぜだ??不思議だ。。。

次はそろそろAndroMDAカートリッジのサンプルかな。