Netbeans 生成0字节jar文件的Ant构建
几个月来,我一直有一个间歇性的问题,在我的ant构建过程中,它生成的一个jar文件大小为0字节。这个0字节的jar文件最终被打包到我的ear文件中,随后的部署失败。我的项目结构如下所示:Netbeans 生成0字节jar文件的Ant构建,netbeans,ant,build,jar,Netbeans,Ant,Build,Jar,几个月来,我一直有一个间歇性的问题,在我的ant构建过程中,它生成的一个jar文件大小为0字节。这个0字节的jar文件最终被打包到我的ear文件中,随后的部署失败。我的项目结构如下所示: myProj myProj-common myProj-ejb myProj-web 生成的生成目录包含这些文件 lib myProj-common.jar <-- sometimes 0 bytes META-INF application.xml MAN
myProj
myProj-common
myProj-ejb
myProj-web
生成的生成目录包含这些文件
lib
myProj-common.jar <-- sometimes 0 bytes
META-INF
application.xml
MANIFEST.MF
myProj-common.jar <-- never 0 bytes
myProj-ejb.jar
myProj-web.war
lib
myProj-common.jar您应该能够通过使用-d(debug)和-v(verbose)标志执行Ant来了解发生了什么。您可以在NetBeans中添加这些标志,或者从命令行执行NetBeans生成的构建文件。您应该能够通过使用-d(调试)和-v(详细)标志执行Ant来了解发生了什么。您可以在NetBeans中添加这些标志,或者从命令行执行NetBeans生成的生成文件。这似乎与我们的整个磁盘加密软件PGP Desktop存在冲突。最近,它在我的笔记本电脑上以降级模式运行,这大大降低了我的构建速度,但我从未看到问题出现。我的推测是,这为较低级别的驱动程序留出了时间来完成他们正在执行的任何操作并刷新他们的写缓冲区。看起来现在jar文件在写入缓冲区刷新之前被复制,因此0字节文件被复制。Ant从未看到错误,这就是构建过程中没有失败的原因
不幸的是,除了修改构建脚本以便在复制jar文件之前延迟之外,我无能为力。现在我的解决方法是在完全清理和构建之后手动复制jar,然后运行构建(与清理和构建相反),这只需要几秒钟就可以重新打包ear文件
我认为当我升级NetBeans时,问题变得更普遍的原因是IDE中的一些更改使构建运行得更快,因此我更经常地遇到缓冲问题。这似乎与我们的整个磁盘加密软件PGP Desktop有冲突。最近,它在我的笔记本电脑上以降级模式运行,这大大降低了我的构建速度,但我从未看到问题出现。我的推测是,这为较低级别的驱动程序留出了时间来完成他们正在执行的任何操作并刷新他们的写缓冲区。看起来现在jar文件在写入缓冲区刷新之前被复制,因此0字节文件被复制。Ant从未看到错误,这就是构建过程中没有失败的原因
不幸的是,除了修改构建脚本以便在复制jar文件之前延迟之外,我无能为力。现在我的解决方法是在完全清理和构建之后手动复制jar,然后运行构建(与清理和构建相反),这只需要几秒钟就可以重新打包ear文件
我认为,当我升级NetBeans时,问题变得更普遍的原因是IDE中的一些更改使构建运行得更快,因此我更经常遇到缓冲问题。最近我也遇到了类似的问题。总而言之,我有一个EAR文件,其中包含一些EJB文件和一个WAR文件。我在一个64位的Windows7环境中,使用NetBeans7.2,在本地JBoss7服务器上运行
当我做两件事中的一件时,我看到了这种情况
当我向项目中添加jar或库,然后将其删除时
当我在EAR文件上进行清理和构建时
我已经多次遇到这个问题,现在甚至都不好笑了。我不知道我是否和你有完全相同的问题,但以下是解决我问题的方法
删除任何jar或库后,必须清理并生成。当我删除任何JAR文件或库时,我会看到空的JAR最终出现在EAR的lib文件夹中。清洁这将有助于减少您的问题
这是发生在我身上的主要事情
我清理了所有依赖项项目和EAR文件本身,并确保所有/dist文件夹都已删除
我在EAR文件中选择了“清理并构建”
我打开了my/dist文件夹中的EAR文件,发现my/lib文件夹中至少有一个JAR文件为“空”或大小为零
仅清理并生成大小为零的项目。然后在EAR文件上选择“构建”而不是“清理并构建”。我希望这有帮助
我只能从理论上推断EJB被构建了两次,因为它在我的WAR文件中是一个依赖项,并且在第二次构建期间它被复制到/lib文件夹中。我没有做任何ant调试,只是发现这是我问题的解决方案
小结:正确地清理和构建,并确保“清理和构建”了lib文件夹中大小为0的项目,然后只在EAR文件中点击“构建”
祝你好运 最近我也遇到了类似的问题。总而言之,我有一个EAR文件,其中包含一些EJB文件和一个WAR文件。我在一个64位的Windows7环境中,使用NetBeans7.2,在本地JBoss7服务器上运行
当我做两件事中的一件时,我看到了这种情况
当我向项目中添加jar或库,然后将其删除时
当我在EAR文件上进行清理和构建时
我已经多次遇到这个问题,现在甚至都不好笑了。我不知道我是否和你有完全相同的问题,但以下是解决我问题的方法
删除任何jar或库后,必须清理并生成。当我删除任何JAR文件或库时,我会看到空的JAR最终出现在EAR的lib文件夹中。清洁这将有助于减少您的问题
这是发生在我身上的主要事情
我清理了所有依赖项项目和EAR文件本身,并确保所有/dist文件夹都已删除
我在EAR文件中选择了“清理并构建”
我打开了my/dist文件夹中的EAR文件,发现至少会有一个EAR文件
~/NetBeansProjects/myeeproject/build/lib $ ls -l
-rw-rw-r-- 1 user1 user1 16013 jan 5 11:52 my_lib.jar
-rw-rw-r-- 1 user1 user1 1489258 jan 5 11:52 my_ws_lib.jar
-rw-rw-r-- 1 user1 user1 0 jan 5 11:52 commons-lang3-3.1.jar
-rw-rw-r-- 1 user1 user1 0 jan 5 11:52 itextpdf-5.4.5.jar
-rw-rw-r-- 1 user1 user1 0 jan 5 11:52 primefaces-4.0.jar
-rw-rw-r-- 1 user1 user1 0 jan 5 11:52 primefaces-extensions-1.1.0.jar