0

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

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

4

2 回答 2

1

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

<project>
  <build>
    <sourceDirectory>${project.basedir}/src/foo</sourceDirectory>
  </build>
于 2016-03-06T00:53:54.930 回答
0

一种解决方案是更改您的项目,使其使用Maven 的标准目录布局。一种非常简单的方法(如果您的源代码在一个目录下)是从 to 创建符号src/main/java链接src/foo

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

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

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

项目文件夹由项目 foo-project-name 管理。无需创建新项目,只需打开它即可。如果您只是删除了项目 foo-project-name 而不是 [sic] 重新启动 IDE 以重用该文件夹。

于 2016-03-05T15:09:50.413 回答