5

申し訳ありませんが、現在手元にないため、正確なコードを提供することはできません。しかし、プロジェクトを jar にパッケージ化しようとしているときに問題が発生しました。pom.xml で Maven アセンブリ プラグインを使用して、すべての依存関係とプロジェクト jar を 1 か所にまとめました。しかし、カスタム マニフェスト ファイルを作成するには、これらすべての依存関係 jar が必要です。Maven自体に何らかのプロパティを注入することは可能ですか? 私が思いついた唯一の解決策は、Maven の shade プラグインを使用して uber-jar を作成することですが、問題は、一部の依存関係にカスタム マニフェスト (Spring フレームワークのものなど) があり、それが失われ、uber 用に 1 つのマニフェストしか生成されないことです。 -瓶。Mavenに依存関係を解凍し、manifestEntriesを編集して再度パックし、プロジェクトjarと一緒にzipにまとめるように指示することは可能ですか?

簡単に言えば、基本的に私が知りたいのは、依存関係jarの1つまたはすべての依存関係jar内のファイルを一度に何らかの形で変更することでしょうか? 私のプロジェクトに spring-beans の依存関係があるとしましょう。ここで、project.jar と spring-beans.jar (変更された manifest.md) を含む必要がある 1 つの zip にそれらをアセンブルする前に、spring-beans.jar 内の特定のファイル、特に manifest.md を変更したいと思います。maven antrunner プラグインで同様のことが達成できると思いますか?

例:

<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>com.mycompany.app</groupId>
  <artifactId>project</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>Project</name>

  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
    </dependency>
  </dependencies>

  <build>
        <plugins>
              <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                  <descriptors>
                    <descriptor>src/main/assembly/src.xml</descriptor>
                  </descriptors>
                </configuration>
              </plugin>
        </plugins>
  </build>
</project>

spring-core.jar、spring-context.jar、spring-beans.jar の manifest.md を変更したい。シェードプラグインを使用して、シェードの構成内で編集できるmanifest.mdを1つ持つuber jarを作成できることは知っていますが、特定の依存関係jarを単独で変更することが可能であれば、それはより確実であり、これらのライブラリを複数のアプレット間で使用します。

4

0 に答える 0