Maven链接编译的类而不是jar

时间:2018-03-16 04:12:54

标签: java eclipse maven

我正在将现有项目移植到maven项目中。我坚持以下问题。

我们的项目使用不同团队的编译类,直到现在我们通过在eclipse中添加一个类文件夹来将这些类链接到我们的项目。 (我们的应用程序代码导入这些类)

enter image description here

  1. 我怎样才能在maven中做同样的事情?

  2. 有没有办法将类路径条目从非maven Java项目移植到Java项目?

  3. 其他小组不会发布广告。它们的来源也不可用。只有他们编译的类可用。因为它的位置保持不变。

    我尝试使用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> 
    

1 个答案:

答案 0 :(得分:1)

如果你想使用Maven,你需要在jar文件中创建一个包含其他团队类的本地Maven包。您 真的 希望这样做,这样每次其他团队更新课程时,您都不会针对移动目标构建代码。在其他团队的开发周期的稳定发布点,与其他团队协调,为团队重建jar。

如果您需要接收每个更改,那么每次其他团队更改课程时您都需要重建该包。但这是非常糟糕的做法,因为你将针对不稳定的代码构建,这就是你现在的情况。当其他团队在构建运行时更新多个类 时,当前会发生什么?它会破坏你的构建吗?假设只发布稳定的测试版本,使用适当的版本管理可以消除这个问题。

让其他团队使用Maven建立真正的发布流程,以便他们能够为客户(即您)提供稳定的版本。这是基本的发布管理实践,应该是公司标准。

解释如何完成所有这些工作超出了StackOverflow的范围,找到有关设置本地Maven仓库的教程。