【问题标题】:Resolve classes of maven dependencies in eclipse解决eclipse中的maven依赖类
【发布时间】:2018-06-26 06:54:23
【问题描述】:

考虑以下依赖层次结构:

现在我在项目D 中有maven-jibx-plugin,它在target/classes 文件夹中生成已编译的类。但是当我运行我的spring-boot 项目A 时,项目D 生成的类无法解析。 还从项目 A 的 maven 首选项中检查从工作区解析依赖项

【问题讨论】:

  • 项目A和项目D的关系在相关项目的POM文件中是如何定义的? D 是 A 的依赖项还是 D 是 A 的子模块?
  • @AnDus 实际上,D 是 A 的依赖项

标签: java eclipse maven jibx maven-jibx


【解决方案1】:

在我看来,Eclipse 和 Maven 似乎无法将项目 D 识别为相关项目。

有两种可能的解决方案:

  • 在 Eclipse 中,您可以将项目 D 作为依赖项目添加到项目 A 的构建路径中。转到项目的 Properties 对话框。选择 Java Build Path,然后切换到 Projects 选项卡。在那里你应该添加项目 D。

  • 或者您也可以依赖 Maven 的依赖管理。因此,您必须向项目 A 的 POM 文件添加依赖项。首先将<dependency>(如果尚未完成)添加到<dependencies> 部分。 现在是重要的部分! 只有在本地 maven 存储库中安装了已编译的 maven 工件(jar 文件)后,Maven 才能解决此依赖关系。在shell上切换到项目D的目录然后运行mvn install

我希望这样做了。

【讨论】:

    【解决方案2】:

    您是否尝试过将生成的源文件夹添加为 eclipse 中的源文件夹?您可以从 Eclipse 中执行此操作(右键单击生成的源代码或其中的任何文件夹 > 构建路径 > 用作源文件夹),或者您可以通过在 pom.xml 中添加如下内容来使用 maven 构建助手插件

            <!-- MAVEN ADD GENERATED-SOURCES TO CLASSPATH -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>${maven.plugin.build-helper.version}</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>target/generated-sources/annotations</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
    

    【讨论】:

      猜你喜欢
      • 2017-06-25
      • 2019-12-14
      • 2011-04-01
      • 2017-01-06
      • 2019-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多