4

親プロジェクト A と 2 つの子プロジェクト B および C を含むマルチモジュール プロジェクトがあります。プロジェクト B はプロジェクト C に依存しています。maven-dependency-plugin を使用して、B の依存関係を lib/ ディレクトリにコピーします。ターゲット/ディレクトリ。したがって、maven-assembly-plugin を使用して、この lib/ ディレクトリを最終的な zip に含めることができます。問題は、プロジェクト B で mvn clean package を実行すると、次のエラーが発生することです。

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 詳細

原因: java.io.FileNotFoundException: D:\path-to-projects-directory\C\target\classes (アクセスが拒否されました)

java.io.FileInputStream.open(ネイティブメソッド)で

java.io.FileInputStream.(FileInputStream.java:120) で

org.codehaus.plexus.util.io.FileInputStreamFacade.getInputStream(FileInputStreamFacade.java:36) で

org.codehaus.plexus.util.FileUtils.copyStreamToFile (FileUtils.java:1141) で

org.codehaus.plexus.util.FileUtils.copyFile (FileUtils.java:1048) で

at org.apache.maven.plugin.dependency.AbstractDependencyMojo.copyFile(AbstractDependencyMojo.java:192) ... 23 詳細

誰かがアイデアを持っていますか?

Web でいくつかの調査を行ったところ、そのような問題があることがわかりました ( http://jira.codehaus.org/browse/MWAR-192を参照してください。これは戦争用ですが、JAR にも同様の問題があります)。プロジェクト C の target/classes ディレクトリにアクセスして C.jar を作成できないようです (C.jar はプロジェクト B の lib/ ディレクトリに含まれている必要があります)。

ありがとう

4

5 に答える 5

4

構成を使用して、この問題にも遭遇しました

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.3.2</version>
    <configuration>
        <archive>
            <index>true</index>
            <manifest>
                <addClasspath>true</addClasspath>
            </manifest>
            <manifestEntries>
                <mode>development</mode>
                <url>${project.url}</url>
                <key>value</key>
            </manifestEntries>
        </archive>
    </configuration>
    ...
</plugin>

http://maven.apache.org/plugins/maven-jar-plugin/examples/manifest-customization.htmlのマニフェストのカスタマイズ例から提供されます。その部分がコメントアウトされたときに問題が解決したので、私はそれを診断し <index>true</index>、これがバージョン 2.3.2、2.3.1、2.3、2.2、2.1 の maven jar プラグインの問題であることを確認しました。

Maven プラグイン jira によると、https: //jira.codehaus.org/browse/MJAR-69 を参照してください。修正されたばかりです。

于 2012-01-26T11:41:08.733 に答える
1

私は同じ問題を抱えています。私はこの方法で解決しました:

ターゲット フォルダーを右クリック > [プロパティ] > [読み取り専用] オプションのチェックを外し、問題の解決を試みました。

ここに画像の説明を入力

于 2020-04-20T03:20:54.557 に答える