【问题标题】:How to create runnable jar with dependencies in extra folder on mutimodule project?如何在多模块项目的额外文件夹中创建具有依赖项的可运行 jar?
【发布时间】:2014-06-27 10:48:26
【问题描述】:

我有一个在不同项目之间共享的公共库。由于库不断扩展(至少目前是这样),它应该在构建期间从 eclipse 工作区中获取。

我正在尝试使用 maven-dependency-plugin 将所有依赖项复制到可运行 jar 旁边的 /lib 文件夹中。但它不起作用:

<dependencies>
    <!-- A jar that is opened as project in workspace, not installed into maven repo, and not a submodule. It should just be picked up and added as jar during package. -->
    <dependency>
        <groupId>my.domain</groupId>
        <artifactId>project-commons</artifactId>
    </dependency>
</dependencies>



        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.8</version>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/lib/</outputDirectory>
                        <overWriteReleases>true</overWriteReleases>
                    </configuration>
                </execution>
            </executions>
        </plugin>

[ERROR] 未能执行目标 org.apache.maven.plugins:maven-dependency-plugin:2.8:copy-dependencies 项目 mydomain 上的(复制依赖项):工件尚未 打包了。在反应堆工件上使用时,应执行复制 包装后:见 MDEP-187。 -> [帮助 1]

当 maven 尝试复制工作区中打开的 commons 项目时,会出现该错误。我错过了什么吗?

【问题讨论】:

    标签: java eclipse maven jar


    【解决方案1】:

    我今天自己遇到了这个问题,下载了最新版本的 CTAKES (3.2),它集成了 YTEX,它可以在命令行上构建,但不能在 Eclipse 中构建。该错误显然是由插件 (https://jira.codehaus.org/browse/MDEP-187) 的一个已知问题引起的。

    我最终通过将阶段从包更改为准备包来修复它(我认为这将解决您的问题)。

    包装 至 准备包

    试试看它是否适合你。

    【讨论】:

    • 遇到同样的问题。不幸的是,改变相位并没有帮助。
    • 我的 Eclipse 仍然失败,但对于命令行 Maven 来说它可以工作。
    猜你喜欢
    • 1970-01-01
    • 2020-05-18
    • 2017-08-22
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 2018-09-03
    • 2015-04-21
    • 2013-07-13
    相关资源
    最近更新 更多