1

私はMavenプロジェクト構造に少し慣れていません。私はプロジェクトを作成しています。これには 2 つの jar があります。どちらの jar も相互に依存していませんが、同じライブラリのいくつかを使用し、両方で使用される 2 つのヘルパー クラス (1 つはログ記録用) を作成しました。

プロジェクト構造に関する限り、私はこのガイドに従っていました: http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

現在のプロジェクトにはモジュールが 1 つしかありません。IntelliJ IDE を使用して build.xml (ANT を使用) を作成し、Jar を作成しています。ただし、IntelliJ build.xml はそのままでは機能せず、手動で編集して両方の jar をビルドする必要がありました。各jarが独自のモジュールにある場合、これは解決されると思います。また、以下によると、とにかくhttp://www.jetbrains.com/idea/webhelp/module.htmlであるべきだと思われ ます

これは私が少し混乱しているところです。2 番目の jar 用に 2 番目のモジュールを作成する場合、両方のモジュールで共有されるクラスをどのように処理すればよいですか? 新しいモジュールを作成するときはいつでも、IntelliJ は新しいモジュールに独自の src/ パスを与えます。

私が言ったように、私はMavenプロジェクト構造に不慣れです。私はまた、build.xmlを使用してantとビルドjarを作成するのもかなり新しいです。私が完全に間違った道を進んでいる場合は、お知らせください。この問題を早期に修正できます。

事前に感謝します。

4

2 に答える 2

5

Packaging = pom の pom.xml を含むマルチモジュール プロジェクト (x) を作成します。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test</groupId>
  <artifactId>x</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <modules>
    <module>x1</module>
    <module>x2</module>
  </modules>
</project>

および 2 つの通常の (jar) プロジェクト (x1 および x2)。これは、プロジェクト構造がどのように見えるかです

x
  x1
    ...
    pom.xml
  x2
    ...
    pom.xml
pom.xml

メイン プロジェクトの pom には、両方のモジュールに共通する依存関係が含まれている必要があります。ネストされたプロジェクトの pom には、親への参照が必要です。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>test</groupId>
    <artifactId>x</artifactId>
    <version>0.0.1-SNAPSHOT</version>
  </parent>
  <artifactId>x1</artifactId>
</project>

ここで詳細を参照してください http://maven.apache.org/guides/mini/guide-multiple-modules.html

于 2013-08-12T13:03:23.847 に答える