我正在使用特定的jar庫,通過Maven供應商特定的存儲庫提供。存儲庫中只有jar文件,即沒有源文件,也沒有javadoc文件。我可以爲Maven配置源位置嗎?
但我知道,這些源可以在SVN倉庫中在線獲得。我可以告訴Maven從特定的SVN位置下載特定JAR的源代碼,並且可能來自特定的修訂版本號?
我正在使用特定的jar庫,通過Maven供應商特定的存儲庫提供。存儲庫中只有jar文件,即沒有源文件,也沒有javadoc文件。我可以爲Maven配置源位置嗎?
但我知道,這些源可以在SVN倉庫中在線獲得。我可以告訴Maven從特定的SVN位置下載特定JAR的源代碼,並且可能來自特定的修訂版本號?
你可以做的是告訴Maven
其中Repository
尋找包括資源的庫。 如果來源不可用於Maven
轉儲格式,則可以告訴IDE(例如Eclipse)直接從硬盤上的某個位置鏈接它們。
存儲庫中沒有源代碼。 – 2012-07-06 11:56:19
你有沒有在另一個'Maven' respository中找到源代碼?或者在一個不是存儲庫的地方? – adranale 2012-07-06 12:01:11
不,你不能告訴maven從SVN倉庫下載源代碼。 Maven期望適當的Maven倉庫中的各種工件。
Jars不存儲在SVN存儲庫中,它們在使用Maven時存儲在工件存儲庫中。在版本控制下保持二進制文件(如jar文件)被認爲是不好的做法。
如果你想檢查是否有一定的神器產生sources
或javadoc
神器其通過Maven的中央是可用的,那麼你可以檢查:
如果你有自己的Maven倉庫(如Nexus,Artifactory)等,你也可以使用它。
如果我的理解正確,您的問題是這些工件的來源不會顯示在您的IDE中。如果是這種情況,並且您確定它們生成了源/ javadoc工件,那麼您可以設置IDE來解決這些依賴關係。
如果你使用Eclipse,你需要沿着線的東西:
<project ...>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
</plugins>
</build>
</project>
在pom.xml
文件,你必須設置的依賴關係,例如:
<dependency>
<groupId> junit </ groupId>
<artifactId> junit </ artifactId>
<scope> test </ scope>
<version> 4.10 </ version>
</ dependency>
我想您無法查看修訂版本,查找包含pom.xml
的資源和依賴關係的庫。
如果它們不是太多的庫..你可能需要手動將它們拷貝到本地的'.m2'文件夾結構中。 – 2012-07-06 12:03:54
@Rp:這通常不是一個好主意,因爲構建將不可移植(在另一臺機器上重現)。您需要在某種中央存儲庫中添加工件(如公司範圍的工件管理器,如Nexus/Artifactory /等)。 – carlspring 2012-07-06 12:06:32