Netbeans 无法在非标准 Maven 项目布局中找到源代码
Netbeans can't find sources in non-standard maven project layout
我正在尝试使用 Netbeans 8.1 处理具有非标准项目结构的 Maven 项目。在我的项目中,我的资源位于 src/foo
而不是 src/main/java
。要打开我的项目,我单击菜单中的 File > Open Project...。然后我在打开的文件浏览器中导航到我的项目。然后我 select 我的项目并单击 打开 。当我的项目在 Netbeans Projects 选项卡中打开时,它不包含任何源包。它只显示一个标记为 Dependencies 的文件夹和一个标记为 Project Files.
的文件夹
我已尝试更改项目属性中源文件夹的位置来解决此问题。我右键单击该项目,单击 Properties,然后单击左侧菜单中的 Sources。然后我尝试编辑 Source Folder 值,但该值不可编辑。值得注意的是,对于 ant
项目,我可以在项目属性中添加源,但对于 Maven 这似乎不可能。
一个解决方案是更改您的项目,使其使用 Maven's standard directory layout。一种非常简单的方法(如果您的源代码位于一个目录下)是从 src/main/java
到 [ 创建符号 link =12=]:
mkdir src/main && ln -s /path/to/project/src/foo src/main/java
如果这样做,Netbeans 将能够看到您的源代码,并且您可以保留非标准目录结构。
可能的替代方案: 在搜索此问题的替代解决方案时,我发现我可以将项目作为 Java 导入到 Netbeans 中使用现有源代码的项目 或 Java 自由格式项目(我不确定我使用了哪一个)。但是,Netbeans 不会再让我这样做了,所以我不确定它是否总是有效,我也不确定我采取的步骤。如果您想尝试该解决方案,请单击 File > New Project,选择 Java 类别,然后选择 Java 现有源项目 或 Java 自由格式项目。在接下来的 window 中,将 Netbeans 指向您现有的源作为项目的位置。正如我上面所说,我确信这对我有用过一次,但我不能再使用这种方法,因为 Netbeans 显示以下错误:
Project folder is managed by a project foo-project-name. Instead of creating a new project just open it. If by a chance you just deleted the project foo-project-name than [sic] restart the IDE to reuse the folder.
你的 maven 项目真的构建正确吗? IDE 将从您的 POM 模型中提取源位置。例如
<project>
<build>
<sourceDirectory>${project.basedir}/src/foo</sourceDirectory>
</build>
我正在尝试使用 Netbeans 8.1 处理具有非标准项目结构的 Maven 项目。在我的项目中,我的资源位于 src/foo
而不是 src/main/java
。要打开我的项目,我单击菜单中的 File > Open Project...。然后我在打开的文件浏览器中导航到我的项目。然后我 select 我的项目并单击 打开 。当我的项目在 Netbeans Projects 选项卡中打开时,它不包含任何源包。它只显示一个标记为 Dependencies 的文件夹和一个标记为 Project Files.
我已尝试更改项目属性中源文件夹的位置来解决此问题。我右键单击该项目,单击 Properties,然后单击左侧菜单中的 Sources。然后我尝试编辑 Source Folder 值,但该值不可编辑。值得注意的是,对于 ant
项目,我可以在项目属性中添加源,但对于 Maven 这似乎不可能。
一个解决方案是更改您的项目,使其使用 Maven's standard directory layout。一种非常简单的方法(如果您的源代码位于一个目录下)是从 src/main/java
到 [ 创建符号 link =12=]:
mkdir src/main && ln -s /path/to/project/src/foo src/main/java
如果这样做,Netbeans 将能够看到您的源代码,并且您可以保留非标准目录结构。
可能的替代方案: 在搜索此问题的替代解决方案时,我发现我可以将项目作为 Java 导入到 Netbeans 中使用现有源代码的项目 或 Java 自由格式项目(我不确定我使用了哪一个)。但是,Netbeans 不会再让我这样做了,所以我不确定它是否总是有效,我也不确定我采取的步骤。如果您想尝试该解决方案,请单击 File > New Project,选择 Java 类别,然后选择 Java 现有源项目 或 Java 自由格式项目。在接下来的 window 中,将 Netbeans 指向您现有的源作为项目的位置。正如我上面所说,我确信这对我有用过一次,但我不能再使用这种方法,因为 Netbeans 显示以下错误:
Project folder is managed by a project foo-project-name. Instead of creating a new project just open it. If by a chance you just deleted the project foo-project-name than [sic] restart the IDE to reuse the folder.
你的 maven 项目真的构建正确吗? IDE 将从您的 POM 模型中提取源位置。例如
<project>
<build>
<sourceDirectory>${project.basedir}/src/foo</sourceDirectory>
</build>