我正在将现有项目移植到maven项目中。我坚持以下问题。
我们的项目使用不同团队的编译类,直到现在我们通过在eclipse中添加一个类文件夹来将这些类链接到我们的项目。 (我们的应用程序代码导入这些类)
我怎样才能在maven中做同样的事情?
有没有办法将类路径条目从非maven Java项目移植到Java项目?
其他小组不会发布广告。它们的来源也不可用。只有他们编译的类可用。因为它的位置保持不变。
我尝试使用additionalClasspathElements
提到的here,但仍然因错过这些类而遇到编译错误。
<build>
<sourceDirectory>Src/java</sourceDirectory>
<outputDirectory>bin/classes</outputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<additionalClasspathElements>
<additionalClasspathElement>D:/share/java</additionalClasspathElement>
</additionalClasspathElements>
</configuration>
</plugin>
答案 0 :(得分:1)
如果你想使用Maven,你需要在jar文件中创建一个包含其他团队类的本地Maven包。您 真的 希望这样做,这样每次其他团队更新课程时,您都不会针对移动目标构建代码。在其他团队的开发周期的稳定发布点,与其他团队协调,为团队重建jar。
如果您需要接收每个更改,那么每次其他团队更改课程时您都需要重建该包。但这是非常糟糕的做法,因为你将针对不稳定的代码构建,这就是你现在的情况。当其他团队在构建运行时更新多个类 时,当前会发生什么?它会破坏你的构建吗?假设只发布稳定的测试版本,使用适当的版本管理可以消除这个问题。
让其他团队使用Maven建立真正的发布流程,以便他们能够为客户(即您)提供稳定的版本。这是基本的发布管理实践,应该是公司标准。
解释如何完成所有这些工作超出了StackOverflow的范围,找到有关设置本地Maven仓库的教程。