コードを分離します

GeoNetworkはMavenを用いて構築されている.これは,ソースコードにはいくつかのフォルダがあり,各フォルダは単独で構築可能な異なるMavenプロジェクトであることを意味する.

../../../_images/listprojects.png

ご自分のプロジェクトを作成します

GeoNetworkを用いて以降を容易にアップグレードする最良の方法は,GeoNetworkコードが不変であり,かつあなたの変更が分離されているように,あなた自身のMavenプロジェクトをMaven構築スタックに追加することである.

そのため、ソースコードのルートフォルダに転送して新しいフォルダを作成してください。これは、GNU/Linux端末上で以下のコマンドを使用して行うことができます。

cd core-geonetwork
mkdir custom

そして私たちはMavenにこれが建設できる新しいプロジェクトだと言わなければならない。そこで、この“カスタム”フォルダにpom.xmlという新しいファイルを追加し、以下を追加します。

あなたの項目を追加します

そして、Mavenが自動的に構築するプロジェクトリストに追加しなければなりません。ソースコードのルートフォルダで、pom.xmlファイルを編集し、ご自身の項目を追加します。

<modules>
  <module>schemas-test</module>
  <module>web-ui</module>
  <module>custom</module>
  <module>web-ui-docs</module>
  <module>web-client</module>
  <module>web</module>
</modules>

我々の考え方は,プロジェクトを構築するだけでなく,生成中のWARファイルに追加することである.そこで,文書web/pom.xmlを編集し,項目を新たな依存項としてタグ依存項に追加した:

<dependency>
  <groupId>${project.groupId}</groupId>
  <artifactId>custom</artifactId>
  <version>${project.version}</version>
</dependency>

同じファイルでは、Resourcesフォルダを構築に追加する必要があります(UIを修正する場合は、本チュートリアルでご紹介します):

<resource>
  <directory>${project.basedir}/../custom/src/main/resources</directory>
</resource>
<resourcesAsCSV>
${project.basedir}/src/main/webapp,
${rootProjectDir}/web-ui/src/main/resources/,
${rootProjectDir}/custom/src/main/resources/,
${build.webapp.resources}
</resourcesAsCSV>

現在,GeoNetworkを構築すれば,我々のプロジェクトも構築し追加する.