我有一个多模块项目,其中有一个父项目 A,以及两个子项目 B 和 C。项目 B 依赖于项目 C。我使用 maven-dependency-plugin 将 B 的依赖项复制到目标/目录。因此,我可以使用 maven-assemble-plugin 将此 lib/ 目录包含在最终的 zip 中。问题是当我在项目 B 上运行 mvn clean package 时出现以下错误:
在 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 更多
引起原因:java.io.FileNotFoundException:D:\ path-to-projects-directory \ C \ target \classes(访问被拒绝)
在 java.io.FileInputStream.open(本机方法)
在 java.io.FileInputStream.(FileInputStream.java:120)
在 org.codehaus.plexus.util.io.FileInputStreamFacade.getInputStream(FileInputStreamFacade.java:36)
在 org.codehaus.plexus.util.FileUtils.copyStreamToFile(FileUtils.java:1141)
在 org.codehaus.plexus.util.FileUtils.copyFile(FileUtils.java:1048)
在 org.apache.maven.plugin.dependency.AbstractDependencyMojo.copyFile(AbstractDependencyMojo.java:192)
... 23 更多
有人有主意吗?
我在网上做了一些研究,发现存在这样的问题(参见http://jira.codehaus.org/browse/MWAR-192 http://jira.codehaus.org/browse/MWAR-192,这是针对战争的,但我对 JAR 也有类似的问题)。似乎无法访问项目C的target/classes目录来创建C.jar(C.jar必须包含在项目B的lib/目录中)。
Thanks
我刚刚使用配置也遇到了这个问题
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<archive>
<index>true</index>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<mode>development</mode>
<url>${project.url}</url>
<key>value</key>
</manifestEntries>
</archive>
</configuration>
...
</plugin>
从清单定制示例中提供,位于http://maven.apache.org/plugins/maven-jar-plugin/examples/manifest-customization.html http://maven.apache.org/plugins/maven-jar-plugin/examples/manifest-customization.html。我诊断它为<index>true</index>
因为当该部分被注释掉时问题就消失了,并验证了这是 maven jar 插件版本 2.3.2、2.3.1、2.3、2.2、2.1 的问题。
根据maven插件jira--参见https://jira.codehaus.org/browse/MJAR-69 https://jira.codehaus.org/browse/MJAR-69——它刚刚被修复
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)