1

Mavenで作成されたプロジェクトから.jarアプリケーションを生成したいと思います。

私はEclipseで作業しており、次のように作成しました:run as / Maven assembly:assembly

これはエラーメッセージです:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-4:assembly (default-cli) on project FeelIndexer: Error reading assemblies: No assembly descriptors found.

これは私のassamble.xml

<assembly>
  <id>exe</id>
  <formats>
        <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <dependencySets>
        <dependencySet>
          <outputDirectory></outputDirectory>
          <outputFileNameMapping></outputFileNameMapping>
          <unpack>true</unpack>
          <scope>runtime</scope>
          <includes>
            <include>commons-lang:commons-lang</include>
            <include>commons-cli:commons-cli</include>
          </includes>
        </dependencySet>
  </dependencySets>
  <fileSets>
        <fileSet>
          <directory>target/classes</directory>
          <outputDirectory></outputDirectory>
        </fileSet>
  </fileSets>
</assembly>

muyプロジェクトの依存関係を追加するために何か他のものを含める必要があると思いますが、それを行う方法がわかりません!! 提案??

更新:私のassembly.xmlの下

<assembly>
      <id>exe</id>
      <formats>
        <format>jar</format>
      </formats>
      <includeBaseDirectory>false</includeBaseDirectory>
      <dependencySets>
        <dependencySet>
          <outputDirectory></outputDirectory>
          <outputFileNameMapping></outputFileNameMapping>
          <unpack>true</unpack>
          <scope>runtime</scope>
          <includes>
            <include>commons-lang:commons-lang</include>
            <include>commons-cli:commons-cli</include>
          </includes>
        </dependencySet>
      </dependencySets>
      <fileSets>
        <fileSet>
          <directory>target/classes</directory>
          <outputDirectory></outputDirectory>
        </fileSet>
      </fileSets>
    <plugins>
          <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-5</version>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
          </plugin>
    </plugins>
    </assembly>

maven-assembly-plugin構成はどこにありますか?

私はあなたが私に言った2つのオプションを試しました:

  • 事前定義されたassembly.xmlを使用する
  • プラグインを挿入する

私は同じ結果を出しました:s

4

1 に答える 1

4

カスタム アセンブリ記述子を使用するには、プラグイン構成で宣言する必要があります。

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-5</version>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/src.xml</descriptor>
          </descriptors>
        </configuration>
        [...]
      </plugin>
   </plugins>
</project>

ところで、定義済みのアセンブリはjar-with-dependenciesあなたのニーズに合っていませんか? カスタムアセンブリとの違いはあまり見られません。私の提案は、事前定義されたアセンブリを使用することです。

<project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-5</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        [...]
     </plugin>
  </plugins>
</project>

更新:あなたが何をしているのかわかりません。また、アセンブリ プラグインのしくみを理解しているかどうかもわかりません。

  1. Maven アセンブリ プラグインの構成 (上記のサンプルで、 で囲まれています<plugin>) はpom.xml、アセンブリ記述子ではなく に含まれます。
  2. アセンブリ記述子として使用するように Maven アセンブリ プラグインを構成する場合src/main/assembly/src.xml、ファイルが存在する必要があります (したがって、アセンブリ記述子の名前を変更するか、構成を変更します。上記のサンプルは単なる例です)。
  3. 私が見たところ、カスタム アセンブリ記述子は必要ありません。最初の回答で提供した 2 番目のスニペットをそのまま使用できます ( に入れますpom.xml)。
于 2010-05-26T11:24:08.933 に答える