gpt4 book ai didi

java - 如何使用 netbeans 创建可执行的 .jar 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:57:37 24 4
gpt4 key购买 nike

我想制作“双击”cli 应用程序,但还是不知道怎么做。我知道我应该以某种方式编辑 list ,但仅此而已。我用谷歌搜索了ofc。但没有成功。感谢您的任何提示。以下是构建、运行和 list 的输出:

compile:
Created dir: /home/nick/NetBeansProjects/SemestralWork/dist
Building jar: /home/nick/NetBeansProjects/SemestralWork/dist/SemestralWork.jar
Not copying the libraries.
To run this application from the command line without Ant, try:
java -jar "/home/nick/NetBeansProjects/SemestralWork/dist/SemestralWork.jar"
jar:
BUILD SUCCESSFUL (total time: 1 second)


java -jar /home/nick/NetBeansProjects/SemestralWork/dist/SemestralWork.jar

Exception in thread "main" java.lang.NoClassDefFoundError: semestralwork/Main
Caused by: java.lang.ClassNotFoundException: semestralwork.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
Could not find the main class: semestralwork.Main. Program will exit.

MY MANIFEST created with build:

Manifest-Version: 1.0

Ant-Version: Apache Ant 1.7.1

Created-By: 14.0-b08 (Sun Microsystems Inc.)

Main-Class: semestralwork.Main

Class-Path:

X-COMMENT: Main-Class will be added automatically by build

最佳答案

这两行告诉你所有你需要知道的:

Exception in thread "main" java.lang.NoClassDefFoundError: semestralwork/Main
Caused by: java.lang.ClassNotFoundException: semestralwork.Main

list 输出还提供了进一步的线索:

Main-Class: semestralwork.Main

这意味着 JAR 文件正在寻找一个名为 semestralwork 的包和其中一个名为 Main 的类。此时它失败了,因为它找不到 semestralwork 包或 Main 类。

正如您在问题中指出的,问题确实出在 list 文件中。如果愿意,您可以直接在 JAR 文件中对其进行编辑,但更好的办法是从 Netbeans 中执行此操作:

  • 点击“文件 --> 项目属性(semestralwork)”
  • 在打开的对话框中,在左侧的树上选择Run
  • 然后,在右侧标记为 Main class: 的字段下,输入您希望在从命令行运行时执行的类的完全限定类名 .

在你的情况下,正如我从你对@Aaron 的回答的评论中看到的那样,如果你的主类在一个名为 encryption.java 的文件中,并且它在默认包(无包)中,只需输入加密即可。

完成后,进行清理和构建,然后再次尝试从命令行运行它。

HTH

关于java - 如何使用 netbeans 创建可执行的 .jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1946394/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com