サンプルアプリケーションの作成
移転しました。
AndroMDA 入門ガイド の 「3 AndroMDAを用いた開発」を参考にしながら
環境は
MagicDraw Personal 12.5
JBOSS 4.0.2
JDK 6
maven 2.0.7
こんなところだろうか。
Hello World アプリケーション
を作成してみることにした。
3.1.4 ビルド&デプロイまですすんで進んだが、以下エラーがでてハマル。
C:\androMDA\hello_world>mvn install [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] An invalid artifact was detected. This artifact might be in your project's POM, or it might have been included tra nsitively during the resolution process. Here is the information we do have for this artifact: o GroupID: helloworld.sample o ArtifactID: hello_world-common o Version: <<< MISSING >>> o Type: jar [INFO] ------------------------------------------------------------------------ [INFO] Trace org.apache.maven.artifact.InvalidArtifactRTException: For artifact {helloworld.s ample:hello_world-common:null:jar}: The version cannot be empty. at org.apache.maven.artifact.DefaultArtifact.validateIdentity(DefaultArt ifact.java:147) at org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java :122) at org.apache.maven.artifact.factory.DefaultArtifactFactory.createArtifa ct(DefaultArtifactFactory.java:158) at org.apache.maven.artifact.factory.DefaultArtifactFactory.createDepend encyArtifact(DefaultArtifactFactory.java:58) at org.apache.maven.project.DefaultMavenProjectBuilder.createManagedVers ionMap(DefaultMavenProjectBuilder.java:424) at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(Def aultMavenProjectBuilder.java:850) at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFi leInternal(DefaultMavenProjectBuilder.java:479) at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMave nProjectBuilder.java:200) at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:553) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:527) at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125) at org.apache.maven.cli.MavenCli.main(MavenCli.java:280) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1 second [INFO] Finished at: Fri Sep 14 00:11:55 JST 2007 [INFO] Final Memory: 1M/4M [INFO] ------------------------------------------------------------------------
WEBで検索していると、maven2.0.5を使わないと出るエラーらしい。。。
http://galaxy.andromda.org/forum/viewtopic.php?p=21487&highlight=#21487
自分はいまmaven2.0.7を使用しているので、2.0.5をインストールしてみる。
圧縮ファイルを解凍して環境変数とPATHの位置を変えるだけ。
しかしまたエラーがでた。。。
Downloading: http://team.andromda.org/maven2/javax/transaction/jta/1.0.1B/jta-1. 0.1B.jar [WARNING] Unable to get resource 'javax.transaction:jta:jar:1.0.1B' from reposit ory andromda (http://team.andromda.org/maven2) Downloading: http://repo1.maven.org/maven2/javax/transaction/jta/1.0.1B/jta-1.0. 1B.jar [WARNING] Unable to get resource 'javax.transaction:jta:jar:1.0.1B' from reposit ory central (http://repo1.maven.org/maven2) [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error creating eclipse configuration Embedded error: Missing: ---------- 1) javax.transaction:jta:jar:1.0.1B Try downloading the file manually from: http://java.sun.com/products/jta Then, install it using the command: mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta \ -Dversion=1.0.1B -Dpackaging=jar -Dfile=/path/to/file Path to dependency: 1) helloworld.sample:hello_world:pom:1.0 2) org.hibernate:hibernate:jar:3.1.3 3) javax.transaction:jta:jar:1.0.1B ---------- 1 required artifact is missing. for artifact: helloworld.sample:hello_world:pom:1.0 from the specified remote repositories: central (http://repo1.maven.org/maven2), andromda (http://team.andromda.org/maven2) [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 20 seconds [INFO] Finished at: Fri Sep 14 00:51:19 JST 2007 [INFO] Final Memory: 27M/55M [INFO] ------------------------------------------------------------------------
# ライセンス上の問題から*1 Maven レポジトリに登録されていないので、自分で jar ファイルを作って、ローカルのレポジトリに登録する必要があるみたいだ
# http://java.sun.com/products/jta/ から、jta-1_0_1B-classes.zip をダウンロード。
1. □ jta-1_0_1B-classes.zip 8.61 KB をチェック
2. ○ Accept License Agreement を選択
3. Download selected with Sun Download Manager を押す
- JTAのアーカイブ化
unzip jta-1_0_1B-classes.zip jar -cvf jta-1.0.1B.jar javax
- JTAの登録
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=jta-1.0.1B.jar
そして再度hello_worldのルートディレクトリに移動し、 mvn install に try !!!!!!!!!
[INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2 minutes 9 seconds [INFO] Finished at: Fri Sep 14 01:21:14 JST 2007 [INFO] Final Memory: 36M/63M [INFO] ------------------------------------------------------------------------
おし!やっと成功!
ドキュメントに従いながらソースを修正した後、
mvn install mvn -f app/pom.xml -Ddeploy
そしてJBOSS起動し、ブラウザでアクセス・・・・・だがまたエラー(涙
01:32:23,484 INFO [MyfacesConfig] No context init parameter 'org.apache.myfaces .CHECK_EXTENSIONS_FILTER' found, using default value true 01:32:23,484 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception javax.faces.FacesException: java.lang.NullPointerException at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatc h(ServletExternalContextImpl.java:439) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspV iewHandlerImpl.java:234) at oracle.adfinternal.view.faces.application.ViewHandlerImpl.renderView( ViewHandlerImpl.java:159) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 384) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173) at helloworld.sample.HelloWorldPopulator.doFilter(HelloWorldPopulator.ja va:47) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF ilterChain.java:173) at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(Extensions Filter.java:144) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl icationFilterChain.java:202) : :