来自netbeans 6.9.1的java runnable jar
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了来自netbeans 6.9.1的java runnable jar,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1857字,纯文字阅读大概需要3分钟。
内容图文
我在NetBeans6.9.1中有一个项目.
它在IDE内部工作正常.
但是当我尝试运行jar时,NetBeans已经在dist目录下自动创建,我得到一个NoClassDefFoundError
对于我的项目中的类.我究竟做错了什么?我应该使用Ant还是其他东西(不知道Ant)
在eclipse中我做了一个“创建可运行的jar”,jar运行没有问题. NetBeans中有相应的东西吗?
更新:在dist / myJar中,我解压缩了jar,在清单中,我的项目的当前路径和根路径都丢失了.我手动添加它们,并从命令行重新创建jar.它有效.但是为什么NetBeans不会在jar的manifest的类路径中添加这些.我不明白
更新2我发现了问题.我认为这是一个严重的NetBeans错误.我已经完成了重构,并将包名称从myPackage.model更改为mypackage.model.但是NetBeans并没有正确地做到这一点.它确实将包的名称更改为mypackage,如树导航器中所示,但文件中的包名仍为myPackage.
程序在IDE中执行正常并且没有报告错误(虽然所有类都声明属于myPackage并且在树中它们在mypackage下)但是当我尝试在dist目录中运行jar时我得到了一个类而不是发现异常.今天我注意到该类被报告为myPackage / model而不是mypackage / model.我查看了类,重构完全搞定了一切.我手动将包名从myPackage中的类名更改为mypackage,并更正了所有导入(导入myPackage).这是一个已知的NetBeans问题????
谢谢
解决方法:
使用NetBeans,您的Java项目将基于Maven或Ant.你想要做的是创建一个包含所有依赖项的“胖”jar.对于Maven,您可以将以下行添加到您的pom中以实现:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>package.and.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
所以对于Maven来说,这是一个两步的事情:
>你必须告诉Maven生成一个“阴影”(包括依赖)jar,
>并且您必须指定主类(包含要运行的静态main(..)方法的主类).
如果您正在使用Ant,您可能需要查看this blog post.
内容总结
以上是互联网集市为您收集整理的来自netbeans 6.9.1的java runnable jar全部内容,希望文章能够帮你解决来自netbeans 6.9.1的java runnable jar所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。