我认为这是一个简单的问题,因为已经有关于此here的wiki主题,尤其是this section.,但维基已经过时了。 Stackoverflow上存在一个先前的问题,它只引用了这些现在过时的wiki主题。 netbeans wiki必须适用于某些旧版本的NetBeans UI,我使用的是NetBeans 7.3。
如果我尝试使用7.3中的现有sources选项,则假定您已经没有build.xml,因此它告诉您无法继续:
为了便于说明,显示jedit源代码文件夹的某些结构可能会有所帮助。 我有最新的jEdit源代码和5.0稳定的源代码。项目布局大致如下:
+ jedit
|
+- org
|
+- net
|
+- test
|
+- de
|
....
我找到了根build.xml所在的文件夹,但是我不能按照wiki说明进行操作,因为似乎没有这样一个带有现有的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.xml之后打开一个包含现有源代码的项目,这个项目也不起作用......
如果我想导入项目源代码(只是java,没有build.xml因为我删除了它),我就会陷入困境:
我尝试做什么?我尝试将源文件夹添加为org
,de
和net
下的目录(请参阅我在上面的问题中提到的源代码树)。但是netbeans会自动向上遍历我的源代码的ROOT文件夹。
我无法选择除root之外的任何文件夹,因为在其下面选择一个文件夹会导致Netbeans无法始终向上移动文件夹层次结构,直到它到达目标所在的位置。它不会被告知任何不同。
这反过来导致netbeans抱怨它决定对我做的事情,因为它不能包含jedit/test
,因为它使用jedit
作为根源文件夹。我没有选择(但jedit /下面的许多文件夹)会导致netbeans做任何不同的事情。它坚持遍历子目录以努力提供帮助。我开始认为java的真实用户可能会以netbeans无法处理的方式组织他们的源代码。
其他信息
只要您拥有现代版本的ant,就可以使用ant
对抗默认build.xml
运费与jedit来源的运行正常工作。重新安装ant修复了我的命令行构建能力。
我发现在我的Mac OS X框在命令行上构建jEdit 5.0之前,我必须从apache网站安装最新的ant
版本。我的netbeans应用包中的ant
版本可能不同。
我正在使用OS X 10.8并安装了Java 1.5,1.6和1.7,目前正在针对java 1.6进行构建。
在我看来,Netbeans以沉着和优雅的方式打开Maven项目,而这又是由于Maven项目通常遵循标准的Java目录布局。基于Ant的构建似乎也很好地导入了Netbeans可以理解的命名和布局标准,但jEdit似乎是Netbeans无法以其当前形式干净地处理的东西。
答案 0 :(得分: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 Libraries选项卡,否则javax.annotation.Nonnull
和javax.annotation.Nullable
将无法解析。
将jedit源代码解压缩到将成为netbeans项目的文件夹下的子目录1级必需。
答案 1 :(得分:1)
屏幕截图显示/Users/admin/NetBeansProject/jedit/trunk
已包含build.xml
文件。您应该尝试在NetBeans中创建“自由格式项目”,而不是“具有现有源的新Java项目”。
如果您不想重用现有的build.xml
文件,可以将源文件复制到新目录。特别是,您应将它们放在NetBeans项目的其他空目录的src
子目录中。然后,您可以创建“包含现有源的新Java项目”。您不需要创建自己的Ant构建文件,除非您需要添加自定义任务或自定义NetBeans生成的默认任务。
答案 2 :(得分:0)
我无法评论使用Netbeans for Java,因为我只使用它编写PHP。但是在使用现有PHP源加载项目时,我可以将项目配置文件保存在项目中或其他位置(我有时会将项目配置保存到我的Windows配置文件中,因为源代码位于我的linux web上的samba共享中服务器)