是否有可能你的应用程序在Netbeans中编译和构建完美无缺,但是当你在Netbeans之外构建和运行它时,你会得到成堆的异常?(请记住,所有的库和依赖关系都是与实际的jar文件一起移植的)。
我运行以下命令
ant -f run
和我的程序完美地运行,正如它应该的那样,然而,我运行以下命令来实际构建一个jar文件,
ant -f jar
,当我运行jar文件时,我的应用程序运行,但不执行使用第一个命令启动时执行的任务。
你知道为什么会这样吗?我完全被这种行为搞糊涂了,也不知道为什么!
如果异常是ClassNotFound,则意味着您在CLASSPATH中丢失了jar。NetBeans正在为您整理,但是当您在它之外运行时,您必须自己管理它。
请记住,所有的库和依赖项都是移植的以及实际的jar文件
我不确定"移植"这个词最终对你来说是什么样子,我猜没有任何真实的信息,但你的应用程序没有正确打包。
您如何尝试在NetBeans之外构建您的项目?
在NetBeans内部,如果您从NetBeans内部创建项目,我相信大多数情况下NetBeans将在名为nbbuild.xml
的文件中创建其所有(默认情况下)Ant目标。
因此,如果你试图从命令行编译NetBeans之外的项目(无论它存在于你的系统中),那么你需要对ant
程序使用-f nbbuild.xml
参数来使用NetBeans生成的Ant文件。因此,您的命令行可能看起来像这样:
ant -f nbbuild.xml compile
当然,在上面的例子中,用您希望为compile
运行的目标替换。