Netbeans在非标准maven项目布局中找不到来源

时间:2016-03-05 15:09:50

标签: maven netbeans netbeans-8 netbeans-8.1

我正在尝试使用Netbeans 8.1来处理具有非标准项目结构的Maven项目。在我的项目中,我的来源位于 src/foo 下,而不是 src/main/java 。要打开我的项目,请单击文件>菜单中的打开项目... 。然后我在打开的文件浏览器中导航到我的项目。然后我选择我的项目并单击打开。当我的项目在Netbeans Projects 选项卡中打开时,它不包含任何源包。它只显示标有 Dependencies 的文件夹和标有 Project Files 的文件夹。

我已尝试更改项目属性中源文件夹的位置以解决此问题。我右键单击该项目,单击属性,然后单击左侧菜单中的 Sources 。然后我尝试编辑源文件夹值,但该值不可编辑。值得注意的是,对于ant项目,我可以在项目属性中添加源代码,但对于Maven,这似乎不可能。

2 个答案:

答案 0 :(得分:1)

您的maven项目是否真的正确构建? IDE将从POM模型中提取源位置。例如

<project>
  <build>
    <sourceDirectory>${project.basedir}/src/foo</sourceDirectory>
  </build>

答案 1 :(得分:0)

一种解决方案是更改项目,使其使用Maven's standard directory layout。一种非常简单的方法(如果您的源位于一个目录下),就是创建从 src/main/java src/foo 的符号链接:

    mkdir src/main && ln -s /path/to/project/src/foo src/main/java

如果您这样做,Netbeans将能够看到您的来源,并且您可以保留您的非标准目录结构。

可能的替代方案:在搜索此问题的替代解决方案时,我发现我可以将项目导入Netbeans,作为带有现有源的Java项目或< em> Java自由格式项目(我不确定我使用的是哪一个)。但是,Netbeans不会让我这样做了,所以我不确定它是否会一直有效,我不确定我采取的步骤。如果您想尝试该解决方案,请单击文件&gt; New Project ,选择 Java 类别,然后选择带有现有源的Java项目 Java自由格式项目 。在下一个窗口中,将Netbeans指向您现有的源作为项目的位置。正如我上面所说,我确信这对我有用,但我不能再使用这种方法,因为Netbeans显示以下错误:

  

项目文件夹由一个FOO项目项目名称来管理。而不是创建一个新项目刚刚打开它。如果您有机会删除项目foo-project-name而不是[原文如此],请重新启动IDE以重用该文件夹。