2012-01-11 73 views
3

我有一個父項目A和兩個子項目B和C的多模塊項目。項目B對項目C有依賴關係。我使用Maven依賴項-plugin將B的依賴關係複製到目標/目錄中的lib /目錄。所以,我可以使用maven-assembly-plugin在最終的zip文件中包含這個lib /目錄。問題是我收到以下錯誤,當我運行mvn清潔套裝項目B:maven-dependency-plugin target/classes - 訪問被拒絕

在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19更

產生的原因:java.io.FileNotFoundException:d:\路徑到項目目錄\ C \目標\類(訪問被拒絕)

在java.io.FileInputStream.open(本機方法)

at 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,這是對戰爭,但我有與JAR類似的問題)。看來項目C的target/classes目錄不能被創建C.jar(C.jar必須包含在項目B的lib /目錄中)。

感謝

+0

聽起來很奇怪,爲什麼不直接在你的pom.xml中聲明你的依賴關係,並讓maven做組裝? – 2012-01-11 22:57:34

+0

獨立工作(Eclipse/m2eclipse之外)嗎? – Raghuram 2012-01-12 05:19:33

+0

@definitelyundefinable我在B的POM中聲明瞭項目B的依賴關係。但是,這些依賴項之一是項目C,它必須先打包才能包含在B的target/lib /中。並且,當它嘗試創建C.jar,它需要將目標/類複製到JAR,並且似乎無法訪問目標/類。 – 2012-01-12 09:34:31

回答

3

我只是碰到了這個問題,在使用從http://maven.apache.org/plugins/maven-jar-plugin/examples/manifest-customization.html清單定製例子提供的配置

<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> 

爲好。我將其診斷爲<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 - 它只是被固定

+0

這不是同一個問題。請參閱https://issues.sonatype.org/browse/MNGECLIPSE-1224。 – 2012-01-26 19:05:58

0

我只是碰到這種跑,只讀元素顯然會導致訪問被拒絕的消息。無論如何,readOnly元素已被棄用,但我碰巧從一個較舊的示例中使用它。