2

我正在使用Heritrix的 1.14.4 分支,不幸的是我暂时被困在该分支中。我遇到的问题是,它的 maven.xml 依赖于 Maven 1.1,它太老了甚至找不到依赖项来构建它。

此外,因为它是 maven.xml 而不是 pom.xml,所以没有相当旧或最近的 IDE 可以加载项目 - 我必须手动运行“maven”脚本来构建它。

我会坦率地承认我对 Java 和 maven 相当无知,但肯定有人必须对我如何升级到更新版本的 Maven 有一些指示。

帮帮我欧比旺!你是我唯一的希望!

尴尬的5分钟后更新..

在浪费了 3 个小时之后,我在这里偶然发现了答案

  • 安装maven2
  • cd 项目目录
  • mvn one:convert(自动将 1.x 转换为 2.x)
  • mvn3 应该是向后兼容的.. 所以我应该好好去!

几个小时后..现实开始了..

升级到 maven-2 或 maven-3 引入了一个新的新模块,这些模块与从我的 maven.xml 升级到 pom.xml 的内容完全不同。此外,“项目”没有 pom.xml,这似乎也有点麻烦。

所以,如果我想这样玩,我必须不断地玩——升级我的模块,格式化所有东西,就好像它是一个新项目一样。升级技术让我有了一点进展,但我认为这需要一段时间。接受蒂姆的迅速而详细的回答,再次感谢。我在某种程度上意识到“海家伙让 maven 为我工作?” 有点像要求某人修复您的makefile..如果它被破坏了,它就被破坏了。:D

4

1 回答 1

1

好吧,这类事情有官方指南,但这里有一个快速入门。

从最小的 POM 开始:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1</version>
</project>

最简单的(虽然不是绝对必要的)步骤是确保项目具有Maven 2 默认目录结构

基本上只是:

src/main/java              - your java files, e.g. /com/mycompany/...
src/main/resources         - other dependencies (e.g. xml files)

然后,您应该能够将该空项目作为有效的 Maven 2 项目加载到 IDE 中。

但是,它将充满错误,因为您尚未指定依赖项。现在你有两个选择:

1)手动添加依赖到POM。例如:

<project>
...
<dependencies>
    <dependency>
      <groupId>commons-math</groupId>
      <artifactId>commons-math</artifactId>
      <version>1.2</version>
      <type>jar</type>
    </dependency>
</dependencies>
...
</project>

2) 或使用 IDE 拉入所需的依赖项。根据您的 IDE,这可能会容易得多,因为它可以提供自动搜索 Maven 中心以查找正确库的能力,并且您可以轻松地拉入最新版本。例如,Netbeans 将在代码行左侧提供一个工具提示,其中缺少类定义,允许您在 Maven 中搜索依赖项。

于 2012-01-25T03:04:40.070 回答