0

一部の Maven モジュール (myChild など) では、maven-jar-plugin を使用して、ここでは my-plugin.jar という名前の追加の jar を作成します。この my-plugin.jar は、モジュール全体の一部である myChild.jar にすぎません。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns=...>
<modelVersion>4.0.0</modelVersion>

<artifactId>myChild</artifactId>

<parent>
<groupId>org.group</groupId>
<artifactId>myParent</artifactId>
<version>1.0</version>
</parent>

<build>
<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
            <execution>
                <id>build-plugins-jar</id>
                <phase>package</phase>
                <goals>
                    <goal>jar</goal>
                </goals>
                <configuration>
                    <includes>
                        <include>......</include>
                    </includes>
                    <finalName>my-plugin</finalName>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>
</build>

<dependencies>
 ...........
</dependencies>

myChild モジュールを別の maven モジュール (myExternal など) で使用する場合は、myChild への依存関係を追加します。しかし、 myExternal のコンパイルは次のようなエラーのために失敗しました: method does not override or implement a method from a supertype. @Override アノテーションを 2 つ削除すると、エラーの数が 2 つ減りました。Java 1.4が使われているようです。しかし、親POMにはmaven-compiler-plugin with sourceand target1.7. さらに興味深いことに、myChild モジュールは適切にコンパイルされます。しかし、myChild を使用する他のモジュールをコンパイルすると、上記のエラーが発生します。

4

1 に答える 1