我有一个Apache Archiva Repo,它是为了处理我正在处理的Maven项目的二进制依赖项而设置的;然而,该项目似乎也有一些依赖本地第三方源代码(不确定分发许可证)。有什么方法可以将此源放在Maven可以在需要构建时抓住它的地方?通常情况下,源代码将存储在SCM中,但似乎并不像我仅用于编译的Java源文件的正确解决方案(只在编译时需要),但不希望在我的主“/ src”目录。评论和最佳实践表示赞赏,我对Java Development和Maven很新颖。如何将Maven指向Java Sorce代码依赖关系?
1
A
回答
2
可能的解决方案:
- 说服第三方项目部署与类文件的Maven中央的JAR(如果开放源代码)
- 说服第三方项目部署与类文件的JAR到Apache Archiva回购(如果闭源,并在同一个组织)
- 说服第三方项目部署与类文件到自己的Maven仓库管理的JAR和注册在Apache Archiva实例回购(如封闭源和不是在同一个组织;不知道如果Apache Archiva提供这样的功能)
- 构建JAR与类文件自己,并将其部署到Apache Archiva回购。然后声明一个依赖于它像往常一样
+0
因此,为了澄清:依赖性总是必须打包? (比如变成一个.jar) –
+0
@BrandonSnider是的,至少有开箱即用的功能(jar,pom,ear,war,...)。不过,我不确定自定义组件支持什么。 – Puce
1
您可以构建第三方源代码的Jar文件并将其放在您的/ lib文件夹下,并在您的pom.xml文件中提供依赖关系。现在,当您构建代码时,依赖关系将从特定jar文件。
<dependency>
<groupId>--grp id name--</groupId>
<artifactId>--artifact id--</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>--${basedir}\lib\{name}.jar--</systemPath> (Path of jar)
</dependency>
</dependencies>
*执行时删除“ - - ”。
0
可以使用Build Helper Plugin,e.g:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>path to where your 3rd party source code is present</source>
...
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
相关问题
- 1. java maven rebuild依赖关系
- 2. Java Maven Jar依赖关系
- 3. Maven源代码依赖关系
- 4. 码头maven依赖关系
- 5. Maven依赖关系
- 6. Maven依赖关系
- 7. NetBeans中的Maven项目:如何向“依赖关系”和“测试依赖关系”添加依赖关系?
- 8. Java源代码依赖关系图
- 9. 在Java代码中复制Maven依赖关系
- 10. 源代码依赖关系
- 11. Maven:指向多个罐子的系统依赖关系
- 12. 指定Maven扩展的依赖关系
- 13. 依赖的Maven副本依赖关系
- 14. 在Maven 2中添加JavaScript依赖关系,如Java依赖关系?
- 15. Maven依赖关系位置 - Java和Eclipse
- 16. Java依赖关系问题(Intellij/Maven)
- 17. Maven码头缓存依赖关系
- 18. Maven码头下载依赖关系
- 19. Maven如何寻找依赖关系
- 20. 如何读取Maven依赖关系树
- 21. 如何理解Maven依赖关系树
- 22. AbstractHandler的Maven依赖关系
- 23. Zest Eclipse Maven依赖关系
- 24. Grails依赖关系或Maven
- 25. Pentaho maven/gradle依赖关系
- 26. Maven传递依赖关系
- 27. Maven - 建立依赖关系
- 28. Maven插件依赖关系
- 29. Maven依赖关系for org.apache.poi.POIXMLDocument
- 30. 了解Maven依赖关系
你只需要在编译的时候,源代码? – Puce
@Puce是的,这是正确的。 –