【问题标题】:How to deal with missing src/test/java source folder in Android/Maven project?如何处理 Android/Maven 项目中缺少 src/test/java 源文件夹?
【发布时间】:2012-08-12 03:45:45
【问题描述】:

我对 Maven 与 Android 的结合还不是很有经验,所以我按照these 的说明创建了一个新的 Android 项目。创建项目后,我收到以下错误消息:

项目“xxx-1.0-SNAPSHOT”缺少所需的源文件夹: 'src/test/java'

当我尝试使用 New->Other->Java-Source 文件夹和 src/test/java 添加新的源文件夹时,我收到另一条错误消息:

该文件夹已经是源文件夹。

但我的项目中没有任何 src/test/java 文件夹。我应该如何处理?设置项目的干净方法是什么,因为我认为此说明中缺少某些内容。那么Maven让src/test/java出现的方式是什么?

我正在使用 Eclipse Juno,m2e 1.1.0,m2e 0.4.2 的 Android 配置。

【问题讨论】:

  • 这不是 m2e-android 的问题,1.1 版的 m2e 插件现在要求您有一个 src/test/java 文件夹。能否请您重新编辑以免混淆。
  • 抱歉,原来这是 m2e-android 的错误。
  • 只需创建一个名为 src/test/java 的计划文件夹。精灵粉已经被应用了。
  • 啊,所以如果我创建一个plain src/test/java 文件夹,包文件夹额外出现?

标签: java android eclipse maven m2eclipse


【解决方案1】:

自从最新的 m2e-android 插件升级(版本 0.4.2)以来,我也意识到了这个烦人的事情,它发生在新项目创建和现有项目导入中(如果你不使用 src/test/java)。

看起来 m2e-android(或者可能是 m2e)现在总是试图将 src/test/java 添加为源文件夹,无论它是否实际存在于您的项目目录中的 .classpath 文件中:

<classpathentry kind="src" output="bin/classes" path="src/test/java">
  <attributes>
    <attribute name="maven.pomderived" value="true"/>
  </attributes>
</classpathentry>

由于它已经添加到项目元数据文件中,所以如果你尝试通过 Eclipse 添加源文件夹,Eclipse 会抱怨 classpathentry 已经存在:

有几种方法可以修复它,最简单的方法是在文件系统中手动创建 src/test/java 目录,然后按 F5 刷新您的项目并运行 Maven -> Update Project (Right单击项目,选择 Maven -> 更新项目...),这应该会修复缺少的所需源文件夹:'src/test/java' 错误。

【讨论】:

  • 谢谢,我今晚在家的时候试试。真的没有办法告诉android原型生成src/test/java吗?
  • 有一个打开的票可以将此文件夹添加到 Android 原型项目:github.com/akquinet/android-archetypes/issues/34
  • 在根目录中执行以下命令:mkdir -p src/{main,test}/{java,resources} 然后按 ALT + F5
  • 这……这一定是个玩笑。我敢肯定这种字体是个玩笑。
【解决方案2】:

这是最近修复的 Android 连接器 M2E (m2e-android) 中的一个错误:

https://github.com/rgladwell/m2e-android/commit/2b490f900153cd34fff1cec47fe5aeffabe44d87

此修复已合并,将在下一个版本中提供。同时,您可以通过从以下更新站点安装来测试新修复:

http://rgladwell.github.com/m2e-android/updates/master/

【讨论】:

    【解决方案3】:

    我通过首先创建一个名为“src/test/resources”的文件夹来解决问题,然后我将该文件夹重命名为“src/test/java”,最后再次创建一个“src/test/resources”文件夹。它可以工作.

    【讨论】:

    • 这对我有用。一个又一个的发布是多么可笑的问题。
    • 这太棒了! @wejack
    【解决方案4】:

    我们可以从

    添加java文件夹
    1. 构建路径 -> 源代码
    2. 点击添加文件夹
    3. 选择 main 作为容器。
    4. 点击创建文件夹
    5. 输入文件夹名称为 java。
    6. 点击完成

    效果很好。

    【讨论】:

    • 在构建路径 --> 源中,我的src/test/java 被标记为丢失。所以我删除了文件夹并创建了一个同名的新文件夹。这对我有用。
    【解决方案5】:

    这可能是由于源目录丢失造成的。

    右键单击文件夹 src -> 更改为源文件夹

    【讨论】:

      【解决方案6】:

      我遇到了同样的问题,已经解决了。 直接在您的文件系统中创建丢失的文件夹(例如使用 Windows 资源管理器)。 然后,在 eclipse 下刷新你的项目。

      【讨论】:

        【解决方案7】:

        从启动插件列表中删除 m2 插件并执行 Maven->更新所有对我有用的项目的项目。

        注意** 在使用基于 SVN/Git 的分支时,不应创建额外的文件夹以避免合并它们。

        【讨论】:

          【解决方案8】:

          对于Maven项目

          尝试右键单击项目,然后选择Maven -&gt; Update Project...,然后选择Ok

          【讨论】:

            【解决方案9】:

            选择项目->新建->文件夹(不是源文件夹)->再次选择项目->输入文件夹名称为(src/test/java)->完成。就是这样。

            如果缺少测试源,它会自动链接它。如果没有,则需要手动链接。

            【讨论】:

              【解决方案10】:

              解决这个问题真的很简单,只需右键单击项目进入属性。之后转到构建路径,您会看到类似“缺少 2 个构建路径条目”的错误。这个错误通常发生在错误指向 JRE 系统库时。现在转到库选项卡并通过单击编辑将 JRE 系统库更改为正确的版本。

              这是完整的教程: https://kkjavatutorials.com/how-to-fix-missing-src-main-java-src-test-java-folders-in-the-eclipse-maven-web-project/

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-05-13
                • 2018-12-26
                • 2013-05-22
                • 1970-01-01
                • 2017-05-23
                • 1970-01-01
                相关资源
                最近更新 更多