标签: maven-assembly-plugin

自定义程序集描述符以创建具有依赖项的 jar

我想从 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.
Run Code Online (Sandbox Code Playgroud)

这是我的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>
Run Code Online (Sandbox Code Playgroud)

我想我必须包含其他内容来添加 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> …
Run Code Online (Sandbox Code Playgroud)

maven-2 maven-assembly-plugin

1
推荐指数
1
解决办法
8292
查看次数

如何使用Maven程序集插件jar-with-dependencies在JAR中包含自定义文件

我需要在最终的JAR中包含自定义文件(/com/app/log4.properties).

使用jar-with-dependencies时,如何将一个文件添加到JAR中?

现在该JAR中只有类文件.我正在使用:

mvn assembly:assembly
Run Code Online (Sandbox Code Playgroud)

我的pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.0</version>
            <configuration>
                <encoding>UTF-8</encoding>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.app.Start</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id> <!-- this is used for inheritance merges -->
                    <phase>package</phase> <!-- bind to the packaging phase -->
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

谢谢.

pom.xml maven maven-assembly-plugin

1
推荐指数
1
解决办法
3143
查看次数

如何防止部署 Maven 创建的 ZIP 文件?

我使用 maven-dependency-plugin 收集应用程序的所有依赖项,然后使用 maven-assemble-plugin 将它们打包在 ZIP 文件中。这部分工作一切都很好。

但是,当我这样做时mvn deploy,它会将 ZIP 文件部署到我的 Archiva 服务器,这是我不想要的。我只想将 JAR 单独部署在那里。

有什么办法可以阻止 ZIP 文件的上传吗?

以下是我的 POM 的相关部分:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <executions>
    <execution>
      <phase>package</phase>
      <goals>
        <goal>copy-dependencies</goal>
      </goals>
      <configuration>
        <outputDirectory>${project.build.directory}/lib</outputDirectory>
      </configuration>
    </execution>
  </executions>
</plugin>

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.3</version>
  <executions>
    <execution>
      <id>make-assembly</id>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
      <configuration>
        <finalName>myProject-${project.version}</finalName>
        <outputDirectory>../</outputDirectory>
        <descriptors>
          <descriptor>src/main/assembly/assembly.xml</descriptor>
        </descriptors>
      </configuration>
    </execution>
  </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

java maven maven-assembly-plugin maven-deploy-plugin

1
推荐指数
1
解决办法
1165
查看次数

如何使用 Maven Assembly 插件为 JavaFX 项目创建一个一体化 jar?

我有一个非常简单的 Java 类src/main/java/webbrowser/WebBrowser.java

package webbrowser;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.web.WebView;
import javafx.scene.web.WebEngine;
import javafx.stage.Stage;

public class WebBrowser extends Application {

    @Override
    public void start(Stage stage) {
        WebView browser = new WebView();
        WebEngine webEngine = browser.getEngine();
        webEngine.load("http://www.oracle.com");
        Scene scene = new Scene(browser, 1200, 900);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }

}
Run Code Online (Sandbox Code Playgroud)

我有一个pom.xml列出 JavaFX 依赖项并配置程序集插件的文件:

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>webbrowser</groupId>
    <artifactId>WebBrowser</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>WebBrowser</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
    </properties>

    <dependencies> …
Run Code Online (Sandbox Code Playgroud)

java javafx maven maven-assembly-plugin

1
推荐指数
1
解决办法
3525
查看次数

Maven程序集插件添加依赖项

我有一个Java应用程序,并使用maven-assembly-plugin将我的依赖项添加到我的发行版的/ lib文件夹中。

在一个Web项目中,它很简单,因为war文件中已经有jar。由于所有外部jar都在我的本地.m2存储库中,因此我无法在标准的Java应用程序中做到这一点。

java maven maven-assembly-plugin

0
推荐指数
1
解决办法
4386
查看次数

为什么我得到"没有找到汇编描述符." 构建此项目时出错?

我有一个用Kotlin写的小项目.当我运行时clean compile assembly:single install,我收到以下错误消息:

Failed to execute goal org.apache.maven.plugins:maven-assembly-plugin:2.2-beta-5:single 
(default-cli) on project alma-econsim: Error reading assemblies: No assembly 
descriptors found. -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

jar-with-dependencies.xml位于src/main/assembly中,并在pom.xml中引用,如下所示:

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2-beta-5</version>
    <executions>
        <execution>
            <id>assembly</id>
            <goals>
                <goal>single</goal>
            </goals>
            <phase>package</phase>
            <configuration>
                <descriptors>
                    <descriptor>src/main/assembly/jar-with-dependencies.xml</descriptor>
                </descriptors>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但我仍然得到错误.我如何更正我的项目,以便能够将其打包为具有依赖关系的jar?

java maven-3 maven maven-assembly-plugin kotlin

0
推荐指数
1
解决办法
7011
查看次数