相关疑难解决方法(0)

如何使用Maven创建具有依赖关系的可执行JAR?

我想将我的项目打包在一个可执行的JAR中进行分发.

如何将所有依赖JAR的Maven项目打包到我的输出JAR中?

java build-automation build-process maven-2 executable-jar

2276
推荐指数
28
解决办法
123万
查看次数

筛选由Maven的复制依赖项复制的依赖项?

我需要基本上完成以下任务:

  1. 将我的库构建为JAR.(很简单,已经完成了.)
  2. 将我的库的依赖项复制到本地文件夹,包括主项目JAR,不包括标记为的依赖项provided.

我似乎无法完成第二部分.有没有更好的方法来做到这一点,而不是我在下面这样做?我实际上是将这些JAR部署到服务器上的lib目录中.不幸的是,下面的代码包括所有JAR,甚至包括JAR provided,但不包括项目输出JAR.我应该使用不同的插件吗?

<?xml version="1.0"?>
<project>
    ...

    <dependencies>
        <dependency>
            <groupId>com.provided</groupId>
            <artifactId>provided-lib</artifactId>
            <version>1.2.3</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.1</version>
        </dependency>

        ...

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>/hello</outputDirectory>
                            <excludeTransitive>true</excludeTransitive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
Run Code Online (Sandbox Code Playgroud)

maven maven-dependency-plugin

26
推荐指数
2
解决办法
2万
查看次数