GAEプロジェクトをMaven化 | 戦うおやじプログラマー

GAEプロジェクトをMaven化

久しぶりにGoogleAppEngineを更新.

  • Eclipse 4.4 Luna をインストール
  • AppEngineプラグイン をインストール
  • 「ファイル」-「新規」-「Webアプリケーションプロジェクト」でプロジェクト作成
  • 今までは、ソースの共有していたのだが、mavenをかじったので、maven化してみる
    「プロジェクトを右クリック」-「構成」-「Mavenプロジェクトへ変換」

なんかエラー

  • cvc-elt.1: 要素 'jdoconfig' の宣言が見つかりません。
  • The output directory for the project should be set to /HogeServer/war/WEB-INF/classes
  • プロジェクトに persistence.xml ファイルが見つかりません
  • 参照ファイルにエラーが含まれています (http://java.sun.com/xml/ns/jdo/jdoconfig)。 For more information, right click on the message in the Problems View and select "Show Details..."

Mavenプロジェクトに変換したときに、ビルドパスが更新されたみたい。

「プロジェクトを右クリック」-「プロパティ」-「Javaのビルドパス」-「ソース」

  • デフォルト出力フォルダをHogeServer/war/WEB-INF/classesに戻す
  • HogeServer/srcの出力フォルダを選択し「編集」
    プロジェクトのデフォルト出力フォルダをチェック
  • pom.xmlからresourceタグを除去
    <!--
    <resources>
    <resource>
    <directory>src
    <excludes>
    <exclude>**/*.java
    </excludes>
    </resource>
    </resources>
    -->

  • jdoconfig.xml修正
    <jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig">

    <jdoconfig xmlns="http://java.sun.com/xml/ns/jdo/jdoconfig"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/jdo/jdoconfig
    http://java.sun.com/xml/ns/jdo/jdoconfig_3_0.xsd">


動くか?