2016-03-05 51 views
0

我试图使用Netbeans 8.1来处理具有非标准项目结构的Maven项目。在我的项目中,我的来源是src/foo而不是src/main/java。要打开我的项目,我点击文件>打开项目...在菜单中。然后,我在打开的文件浏览器中导航到我的项目。然后我选择我的项目并点击打开。当我的项目在Netbeans Projects选项卡中打开时,它不包含任何源代码包。它只显示标记为的文件夹依赖项和标记为的文件夹项目文件Netbeans无法在非标准项目布局中找到源代码

我试着改变项目属性中源文件夹的位置来解决这个问题。我在该项目上单击鼠标右键,然后单击属性,然后在左侧菜单中单击来源。然后我尝试编辑源文件夹的值,但该值不可编辑。值得注意的是,对于ant项目,我可以在项目属性中添加源代码,但对于Maven来说,这似乎不可行。

回答

1

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

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

有趣的是,我的项目没有正确构建,但它不是我的项目,所以我不知道为什么。我想我需要更多地了解这个项目,但是你的解决方案很好。 – stiemannkj1

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将能够看到您的来源,并且您可以保留您的非标准目录结构。

可能的选择:在寻找这个问题的替代解决方案,我发现我可以用现有源代码或Java的自由形式项目(I”导入项目到NetBeans无论是作为Java项目米不知道我使用了哪一个)。不过,Netbeans不会再让我这样做,所以我不确定它是否会一直有效,我不确定我采取的步骤。如果你想尝试的解决方案,单击文件>新建项目,选择的Java类别,并选择使用Java项目包含现有源Java的自由形式项目。在下一个窗口中,将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.

相关问题