我有Maven項目與依賴在回購和東西。我想「導出」其所有依賴關係的源代碼,以便我可以在IDE中成功打開它,而無需在計算機上運行Maven。Maven:如何導出與來源和依賴關係的項目
將項目打包成war文件時,它具有所有與它相關的依賴關係。
所以我想把所有的依賴項加上我的源代碼收集在一個地方,可以用IDE(Eclipse或IDEA)打開所有這些庫檢測到的地方?
我有Maven項目與依賴在回購和東西。我想「導出」其所有依賴關係的源代碼,以便我可以在IDE中成功打開它,而無需在計算機上運行Maven。Maven:如何導出與來源和依賴關係的項目
將項目打包成war文件時,它具有所有與它相關的依賴關係。
所以我想把所有的依賴項加上我的源代碼收集在一個地方,可以用IDE(Eclipse或IDEA)打開所有這些庫檢測到的地方?
嘗試Maven的依賴,插件與目標copy-dependencies
<project>
[...]
<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>${project.build.directory}/alternateLocation</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
PS。
您是否知道maven和IDE集成(對於Eclipse p.e.)? Maven可以爲特定的IDE生成項目,並將所有相關的jar包含爲變量(指向這些jar在本地存儲庫中),因此不需要使用複製依賴關係到子文件夾。
實際上,沒有任何東西會創建一個包含開箱即用的來源和依賴關係的包。爲此,您需要使用一些插件的組合。
對於依賴關係,Maven 2 Dependency Plugin及其copy-dependencies
將有助於cetnar指出的幫助。
對於源,您可能需要Maven Source Plugin及其source:aggregate
目標(或者也許是Maven Assembly Plugin和預先定義的src
描述,但source:aggregate
是非常方便的多模塊構建)。
爲了將整個東西綁定在一起(也許解壓源代碼),我會使用Maven Assembly Plugin。
我認爲'我的資源聚集在一個地方'glaz666指的是源代碼(來自VCS或不是)和lib子文件夾中的所有依賴關係。源代碼+1:多模塊的聚合。 – cetnar 2009-11-17 21:27:46
戰爭與源
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${build.sourceDirectory}</directory>
<targetPath>src</targetPath>
</resource>
</webResources>
</configuration>
</plugin>
感謝。這可以工作,我會檢查這 – glaz666 2009-11-17 21:14:03
>>你知道的Maven和IDE集成 如果你正在討論打開IDE中的POM文件,然後將發現源和依賴項,這不是我想要的。我只需要複製項目源代碼和庫,並且能夠在未安裝maven的情況下在機器上打開並運行它。所以我想,我會使用你所說的插件 – glaz666 2009-11-18 13:09:21
我對這個插件有問題。如果我在我的依賴項中編譯了 - 它會編譯,但不會被依賴項插件複製。但如果我將範圍更改爲「運行時」或「導入」,它會彈出一個「編譯錯誤」: 「無法執行目標org.apache.maven.plugins:maven-compiler-plugin:3.3:compile(default-compile )項目AnnotationsProcessor:編譯失敗...... ...註釋/處理器/ ComplexityProcessor.java:[20,28]找不到符號「。我有這個依賴項安裝在本地的Maven倉庫,它生成的罰款。 –
DominikStyp
2016-04-11 20:14:54