0

我认为这是一个简单的问题,因为这里已经有一个关于此的 wiki 主题,尤其是本节。但是 wiki 已经过时了。Stackoverflow 上存在一个先前的问题,该问题仅引用了这些现已过时的 wiki 主题。netbeans wiki 必须适用于某些较旧版本的 NetBeans UI,而我使用的是 NetBeans 7.3。

如果我尝试使用 7.3 中的现有源选项,它假定您已经无法拥有 build.xml,因此它告诉您无法继续:

在此处输入图像描述

出于说明目的,它可能有助于显示 jedit 源代码文件夹的某些结构。我有最新的 jEdit 源代码和 5.0 稳定的源代码。项目布局大致是这样的:

      + jedit
        |
        +- org
        |
        +- net
        |
        +- test
        |
        +- de
        |
        ....

我找到了根 build.xml 所在的文件夹,但我无法按照 wiki 说明进行操作,因为似乎不再有这样的 project-with-existing-ant-build-script 选项。

现在我们尝试自由形式选项......它也不起作用......

到目前为止,自由格式项目的工作原理是它允许您创建一个 netbeans 项目,但是对目录的扫描会导致 netbeans 内部一团糟。一系列带有路径“。”的文件夹。添加了 5 个重复的“。” 文件夹,以及项目树视图中的 5 个重复的“源包”条目。这可能与自由格式的第二个问题有关,即它不会构建和运行 jEdit,但会因我尝试在 netbeans 外部构建时不会发生的奇怪错误消息而死:

项目窗格中的混乱使我无法导航或查看源结构:

在此处输入图像描述

它没有建立:

Processing /Users/admin/NetBeansProjects/jedit/trunk/build/test/merged-reports/TESTS-TestSuites.xml to /var/folders/59/mc8gzxfn1b98j389rkz4zjsc0000gs/T/null666107982
Loading stylesheet jar:file:/Applications/NetBeans/NetBeans%207.3.app/Contents/Resources/NetBeans/java/ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
: Error! The first argument to the non-static Java function 'replace' is not a valid object reference.
: Error! Cannot convert data-type 'void' to 'reference'.
: Fatal Error! Could not compile stylesheet
Failed to process /Users/admin/NetBeansProjects/jedit/trunk/build/test/merged-reports/TESTS-TestSuites.xml
/Users/admin/NetBeansProjects/jedit/trunk/build.xml:442: Errors while applying transformations: Fatal error during transformation
BUILD FAILED (total time: 35 seconds)

所以我放弃了自由形式的项目,因为它无法构建。

现在在删除 build 文件夹和 build.xml 后打开一个具有现有源的项目,这也不起作用......

如果我想导入项目源代码(只是 java,没有 build.xml,因为我删除了它),我会卡在这里:

在此处输入图像描述

我试图做什么?我尝试将源文件夹添加为org,de和下的目录net(请参阅我在上面的问题中放置的源代码树)。但是 netbeans 会自动向上遍历到我的源代码的 ROOT 文件夹。

我无法选择除根目录以外的任何文件夹,因为选择它下面的文件夹会导致 Netbeans 无济于事地总是向上移动文件夹层次结构,直到它到达它想要的位置。不会说有什么不同。

这反过来又导致 netbeans 抱怨它决定对我做的事情,即它不能包含jedit/test,因为它jedit用作根源文件夹。我选择的任何内容(但是 jedit/ 下面的许多文件夹)都不会导致 netbeans 做任何不同的事情。它坚持遍历子目录以提供帮助。我开始认为 java 的真实世界用户可能会以 netbeans 无法处理的方式组织他们的源代码。

其他信息

  • 只要您拥有现代版本的 ant,从 shell 构建并使用antjedit的源代码就可以正常运行。build.xml重新安装 ant 修复了我的命令行构建能力。

  • 我发现我必须ant先从 apache 网站安装最新版本,然后我的 Mac OS X 机器才能在命令行中构建 jEdit 5.0。我的 netbeans 应用程序包中的ant版本可能不同。

  • 我正在使用 OS X 10.8 并安装了 Java 1.5、1.6 和 1.7,目前针对 Java 1.6 构建。

  • 在我看来,Netbeans 以沉着和优雅的方式打开 Maven 项目,这反过来又是由于 Maven 项目通常遵循标准的 java 目录布局。基于 Ant 的构建似乎也可以很好地导入,以至于 Netbeans 可以理解命名和布局标准,但 jEdit 似乎是 Netbeans 无法以当前形式干净处理的东西。

4

3 回答 3

2

下面的 URL 包含在 NetBeans 7.3 中设置和编译 jEdit 5.0.0 源代码的说明。

http://www.areaofthoughts.com/2013/01/compiling-running-jedit-5-in-netbeans-73.html

概括:

  • jsr305-2.0.1.jar必须下载依赖项并将其手动添加到 netbeans 库选项卡,否则javax.annotation.Nonnulljavax.annotation.Nullable无法解析。

  • 将 jedit 源代码解压缩到将成为 netbeans 项目的文件夹下的 1 级子目录是必不可少的。

于 2013-03-30T01:59:00.420 回答
1

屏幕截图表明/Users/admin/NetBeansProject/jedit/trunk已经包含一个build.xml文件。您应该尝试在 NetBeans 中创建“自由格式项目”,而不是“使用现有源的新 Java 项目”。

如果您不想重复使用现有build.xml文件,可以将源文件复制到新目录。特别是,您应该将它们放在srcNetBeans 项目的其他空目录的子目录中。然后,您可以创建一个“具有现有源的新 Java 项目”。您不需要创建自己的 Ant 构建文件,除非您需要添加自定义任务或自定义 NetBeans 生成的默认任务。

于 2013-03-28T23:48:47.477 回答
0

我无法评论使用 Netbeans for Java,因为我只用它编写 PHP。但是当使用现有 PHP 源加载项目时,我可以将项目配置文件保存在项目中或其他位置(有时我会将项目配置保存到我的 windows 配置文件中,因为源位于我的 linux web 上的 samba 共享中服务器)

于 2013-03-28T23:23:26.807 回答