我认为这是一个简单的问题,因为这里已经有一个关于此的 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 构建并使用
ant
jedit的源代码就可以正常运行。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 无法以当前形式干净处理的东西。