当前位置: 首页 > 知识库问答 >
问题:

将java编译为jar时,正确的入口点是什么?

嵇昱
2023-03-14

因此,当我编写java文件时:

public class Program
{
public static void main(String[] args)
{
System.out.println("Serious business logic.");  
}
}

然后在windows cmd中,我以以下方式编译:

javac Program.java
jar cfe Program.jar Program Program.class
java -jar Program.jar

很好,结果是:

“严肃的业务逻辑。”

在Netbeans中创建项目时,会添加以下行:

package program;

我不能在cmd中编译,只能在IDE中编译。我尝试过manifest.txt,UTF8编码没有BOM,加上文件的换行符。

显示txt:

Main-Class: program.Program  
  • “jar cvfm Program.jar Manifest.txt Program.class”

而且没有舱单。txt,只是在cmd程序中。程序

  • “jar cfe Program.jar Program.Program.class”

当我尝试跑步时:

java -jar Program.jar

其结果是:

“错误:找不到或加载主类程序。程序”

我已经查看了以下网站:
http://www.skylit.com/javamethods/faqs/createjar.html
https://docs.oracle.com/javase/tutorial/deployment/jar/build.html
也不知道该怎么做。你能帮帮我吗
如何使用package关键字进行编译?正确的切入点是什么?

谢谢!

ps jre1.80_91;jdk1.80_66我应该为jre和jdk使用相同的32位或64位?)

共有1个答案

岳安福
2023-03-14

确保在将程序编译为JAR时,program。类位于名为程序的文件夹中。Netbeans在脚本开头添加的package关键字告诉可执行文件它位于名为program的文件夹中。如果您只是添加类文件,而没有确保它位于正确的包(文件夹)中,它将无法正常运行,因为它不知道在哪里可以找到它。您的命令应更改为:

jar cvfm Program.jar Manifest.txt program

其中program是包含程序的文件夹。类。您的清单可能会被单独留下,但也需要包含在编译中。

 类似资料:
  • 我在docker中编写了一个简单的脚本来使用dnsmasq 我的逻辑很简单,k8s第一次启动docker contain时,它将在设置为正确的值,我的脚本将把它复制到和在至使用dnsmasq服务。 当docker因为保持不变,因此将刚刚启动。它大部分时间都能工作,但当k8s由于健康检查失败而重新启动容器时,它将无法工作。当这种情况发生时,我的

  • 我有一个ASPX页面,如下所示: 以及如下所示的web.config: 当我运行我的VS2010 WebApp时,我会得到如下错误: “CodeDom提供程序类型”microsoft.fsharp.compiler.CodeDom.fsharpaspnetCodeProvider, fsharp.compiler.CodeDom,version=2.0.0.0, Culture=neutrine,

  • 问题内容: 我听说将block元素放入内联元素是HTML的罪过: 但是,如果您像样式表那样设置外部锚点,该怎么办?还是错吗?关于块级和内联元素的HTML 4.01规范似乎是这样认为的: 样式表提供了一种方法来指定任意元素的呈现,包括将元素呈现为块还是内联。在某些情况下,例如列表元素的内联样式,这可能是适当的,但总的来说,不鼓励作者以这种方式覆盖HTML元素的常规解释。 有人对此问题有其他建议吗?

  • 下面的代码通过一些位黑客执行快速平方根倒数运算。该算法可能是由硅图形在20世纪90年代初开发的,它也出现在了《雷神之锤3》中。更多信息 然而,我从GCC C编译器那里得到以下警告:取消引用类型双关指针将违反严格的别名规则 在这种情况下,我应该使用,还是?

  • 这是我得到的。 helloworld.java: inner.java: manifest.txt: 现在,我将它们放入一个.jar文件 现在我尝试运行jar: 我得到:

  • 难以理解口译员的确切角色。引用wikipedia的话:“虽然口译语言[1]中的程序没有翻译成机器代码,但它们的解释器(可能被视为执行器或处理器)通常由直接可执行的机器代码组成(由汇编和/或高级语言源代码生成)。” 我对这句话表示怀疑——“解释器(可能被视为执行器或处理器)通常由直接可执行的机器代码组成”?这是什么意思?解释器应该是一个程序。它如何自己“执行”代码?他们重申了这一事实,称“口译员不同