我有一个Apache Archiva Repo,我已经设置了处理我正在处理的Maven项目的二进制依赖项;但是,该项目似乎也依赖于本地第三方源代码(不确定分发许可证)。有没有办法可以将这个源放在Maven可以从需要进行构建时获取它的某个地方?通常情况下,源代码将存储在SCM中,但这似乎不是我只用于编译的java源文件的正确解决方案(仅在编译时需要),但并不需要我的主要" / src"目录。我很了解Elaborations和最佳实践,我对Java Development和Maven都很陌生。
答案 0 :(得分:2)
可能的解决方案:
答案 1 :(得分:1)
您可以构建第三方源代码的Jar文件并将其放在you / 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>
*实施时删除“ - - ”。
答案 2 :(得分:0)
您可以使用Build Helper Plugin,例如:
<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>