如何在mutimodule项目的额外文件夹中创建具有依赖项的可运行jar?

时间:2014-06-27 10:48:26

标签: java eclipse maven jar

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

我正在尝试使用maven-dependency-plugin复制runnable 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>
  

[错误]无法执行目标   org.apache.maven.plugins:Maven的依赖关系的插件:2.8:复制依赖性   项目mydomain上的(copy-dependencies):Artifact还没有   包装好了。当在reactor工件上使用时,应该执行复制   包装后:见MDEP-187。 - &GT; [帮助1]

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

1 个答案:

答案 0 :(得分:4)

我今天遇到了这个问题,下载了最新版本的CTAKES(3.2),它集成了YTEX,它将在命令行上构建而不是在Eclipse中构建。该错误是插件(https://jira.codehaus.org/browse/MDEP-187)显然存在已知问题的结果。

我最终通过将相位从包更改为prepare-package来修复它(我认为这将解决您的问题)。

包 至 制备封装

试一试,看看它是否适合你。