首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

javah帮助 - "在命令行上没有指定类"

在命令行上没有指定类是指在运行Java程序时,没有指定要执行的主类。这通常是由于命令行中缺少了主类的名称或者主类的名称拼写错误导致的。

要解决这个问题,可以按照以下步骤进行操作:

  1. 确保你的Java程序中有一个主类,即包含了public static void main(String[] args)方法的类。
  2. 检查你在命令行中输入的Java命令是否正确。正确的Java命令应该包含java关键字,后面跟着要执行的主类的名称。例如:java MainClass,其中MainClass是你的主类的名称。
  3. 确保你在命令行中指定的主类名称与你的Java程序中的主类名称完全一致,包括大小写。
  4. 如果你的Java程序包含了包(package),则在命令行中指定主类时需要包括包的路径。例如:java com.example.MainClass,其中com.example是你的包路径,MainClass是你的主类名称。
  5. 如果你的Java程序包含了多个类文件,确保你在命令行中指定的是包含main方法的主类。
  6. 如果你的Java程序使用了外部的类库或者依赖,需要将这些类库或者依赖添加到classpath中。可以使用-cp或者-classpath选项指定classpath。例如:java -cp path/to/library.jar MainClass,其中path/to/library.jar是类库的路径。
  7. 如果你的Java程序使用了包管理工具(如Maven或Gradle),可以使用相应的命令来构建和运行程序。具体的命令可以参考相应的文档。

总结起来,当在命令行上出现"在命令行上没有指定类"的错误时,需要检查主类的名称、命令行的正确性以及类路径的设置。确保这些都正确无误后,就可以成功运行Java程序了。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用OnionJugglerUnix系统通过命令行管理你的Onion服务

该工具使用POSIX兼容的Shell脚本进行编写,可以帮助广大研究人员Unix系统通过命令行管理自己的Onion服务。...OnionJuggler是一个低要求、可移植的脚本和文档集合,用于帮助服务运营商处理和管理自己的Onion服务。...2、向研究人员展示,管理Onion服务不仅可以通过Web页面和Web服务器的形式,还可以通过命令行的形式。...3、分发,从源代码级别(FOSS)到允许任何人在任何操作系统、shell或服务管理器运行代码所产生的效果。...下列命令可以创建一个名为terminator的服务: onionjuggler-cli on -s terminator 我们也可以在运行时提供指定的运行参数: onionjuggler-cli on

79320
  • javah命令详解「建议收藏」

    javah命令参数详解 cmd(默认配置jdk path) 执行javah -help 如下图: -d 和-o 这两个参数用于设置生成的C\C++头文件的指定,该两参数选项不能同时使用,-d...是为中的每个有JNI方法的java都生成一个头文件,并存放在-d指定的目录中,-o则是生成的所有JNI方法的头文件都放在-o指定的文件中。...-classpath  使用-classpath后JDK将不再使用CLASSPATH中的搜索路径,如果-classpath和CLASSPATH都没有设置,则JDK使用当前路径(.)作为搜索路径。...-verbose 该参数,将显示javah命令搜索和装置文件的详细过程。.../jni 目录生成以上两个的头文件。 到此我相信大家再也不会为生成jni头文件而不知所措了,下一篇我会整理一下,android studio生成头文件的方法。 希望对您有所帮助

    1K20

    javah 详解_java entity

    大家好,又见面了,我是你们的朋友全栈君 1 javah –help 帮助说明乱码说明 javah –help输出内容采用的是utf-8编码,cmd打开可能出现乱码,因此执行指令chcp 936...,指定编码字符集(cmd默认的字符编码集是GBK) 2 javah 参数说明 javah –help 用法: javah [options] 其中, [options] 包括:...-cp 从中加载的路径 -bootclasspath 从中加载引导的路径 是使用其全限定名称指定的 (例如...h文件的目录,而-o参数可以指定输出到某一个特定目录,并且指定文件名 -classpath 从中加载的路径,这句话应该是java编译器加载java包的路径,这个路径应该是包所在的路径,很多的时候直接填写...java所在的目录是错误的,对于上面的工程很好理解 如果当前已经工程顶级目录,直接写 -classpth src/ 即可 -jni 该参数指定生成h文件的java,必须在前面添加包名(完整的是包名

    56340

    Android studio 下JNI编程实例并生成so库的实现代码

    生成方法为:控制台或者Android studio自带的控制台使用javah命令将上一步make之后生成的class文件生成.h头文件,这里在用javah的时候有可能会出问题,比如我第一次就出现了找不到...app.activity ,即找不到文件,这种问题一般是没有理解javah的用法造成的。...的含义:javah操作是针对文件,-bootclasspath和-classpath就是指定在哪里进行文件搜索。...3,命令行下,cd到jni目录(就是之前javah -d jni生成的那个文件夹)下,输入指令: ndk-build,等一会即可生成.so文件。...FAQ: 1,生成的so文件使用时需要注意:包名不能变,拿上文举例,本地方法位于com_example_machenike_pc_jnitest2_MainActivity这个下,如果在别的地方用,

    2.2K31

    Android程序中,内嵌ELF可执行文件--Android开发C语言混合编程总结

    请注意文件第一行的提醒信息,这个头文件的内容不要自行修改,如果修改Java封装文件JniLib.java导致了名、函数名的变化,应当重复一步,使用javah工具重新完整生成头文件。...; }; c++代码中,首先是引用刚才由javah生成的头文件,这是为了保证c++中定义的函数,严格吻合Java封装中所指定的类型。 函数的定义比较长,可以从.h文件中直接拷贝进来。...Java是一种跨CPU的语言,并不要求指定特定的CPU。而C/C++语言,不同的CPU,都需要进行特定的编译。...Java中调用JNI库 JNI库的效果,还要修改一下我们程序的MainActivity,才能体现出来。不然JNI库会被编译,会被打包,但并没有什么用。...好在这个程序非常通用,把这个留着,以后所有同类程序都可以直接拿来使用。 java文件夹自己的包名右键点击鼠标,增加一个Java,命名为CopyElfs。

    1.9K40

    jdk文件bin目录中各种工具的作用(javacjavapjavajarjstatjvadoc等)

    -help                          输出此帮助消息     -X                                   输出非标准选项的帮助     -ea[:<...jstatd是基于RMI的,所以在运行jstatd的服务器必须存在RMI注册中心,如果没有通过选项”-p port”指定要连接的端口,jstatd会尝试连接RMI注册中心的默认端口。     ...jstat:Jstat 用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控: 的加载及卸载情况 查看新生代、老生代及持久代的容量及使用情况...位机器,需要指定选项”-J-d64”。...使用jps时,如果没有指定hostid,它只会显示本地环境中所有的Java进程;如果指定了hostid,它就会显示指定hostid上面的java进程,不过这需要远程服务开启了jstatd服务。

    2.2K20

    Android程序中,内嵌ELF可执行文件-- Android开发C语言混合编程总结

    其中三个需要设置的内容分别是: javah程序路径:$JDKPath$/bin/javah,这个跟jdk安装的路径有关。 命令行参数:-classpath ....请注意文件第一行的提醒信息,这个头文件的内容不要自行修改,如果修改Java封装文件JniLib.java导致了名、函数名的变化,应当重复一步,使用javah工具重新完整生成头文件。...; }; c++代码中,首先是引用刚才由javah生成的头文件,这是为了保证c++中定义的函数,严格吻合Java封装中所指定的类型。 函数的定义比较长,可以从.h文件中直接拷贝进来。...Java是一种跨CPU的语言,并不要求指定特定的CPU。而C/C++语言,不同的CPU,都需要进行特定的编译。...好在这个程序非常通用,把这个留着,以后所有同类程序都可以直接拿来使用。 java文件夹自己的包名右键点击鼠标,增加一个Java,命名为CopyElfs。

    1.7K40

    Java之JNI开发流程

    本文先介绍命令行下使用JNI,随后介绍Android Studio中使用JNI。...Java命令行下使用JNI 笔者以Java中调用C编写的add函数为例讲解,首先创建Hello.java和native.c。...显式映射 确保Java文件中不指定包名,指定了包名后命令行下可能会出错,一般步骤如下: 1.包含jni.h头文件 /usr/lib/jvm/java-1.8.0-openjdk-amd64/include...Hello # 运行Java,并指定动态链接库的路径 隐式映射 Hello.java的第一行指定包名 package cn.caiyifan.jni; 采用隐式映射的方式不需要程序员去手动建立链接...[]的签名为[I javah和javap命令的使用 javah可以生成Java本地方法对应的C/C++函数接口,用法是指定一个class文件,不过Android Studio中已经可以快捷键生成了。

    1.8K10

    javah是什么命令_SQL命令

    今天看了《android框架揭秘》一书中的jni这块,按照书上的写法试了试javah命令, 今天通过javah生成h文件时遇到各种问题。...不管是javah -classpath参数啊还是别的什么,一直都无法成功通过class文件生成h文件。...想了想应该是路径问题,现在终于成功编译出来了~ 先在cmd命令行里面切换到工程的目录 调用javah命令时,javah -classpath bin com.example.jni_example.MainActivity...com.example.jni_example 指包名 MainActivity 声明有native函数的javah -classpath bin com.example.jni_example.MainActivity...我这里是bin\class,bin\class路径下含有com目录。 此时就可以调用成功,生成对应的.h文件。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    68820

    Android Studio 4.0.+NDK .so库生成打包

    .so文件程序运行时就会加载,所以想使用Java调用.so文件,必有某个Java运行时load了native库,并通过JNI调用了它的方法。...调用程序中依然需要相同的包名、文件名及方法名 可以将库的加载放在java文件中,当程序启动时会自动加载.so库 7....Java中声明一个本地方法 public class NDKTest { private native int count(); } 2....执行指令javah获得C声明的.h文件 terminal中cd 到\app\src\main\java目录下执行如下指令: terminal可能出现不能用,则使用cmd命令行 javah -encoding...1. javah配置 //javah.exe的地址 Program:$JDKPath$\bin\javah //生成.h文件的路径指定在jni文件中,$FileClass$为源.java文件 Arguments

    1.6K40

    使用Android studio编写一个小的jni程序

    3.创建一个并定义两个native方法如下图: ?...这里需要注意的是,我们需要退后到如下图目录执行javah -jni命令,命令javah -jni 包名.名 ?...这里获取头文件会有很多坑,如果提示错误: 找不到'com.zsy.hellojni.HelloWorld' 的文件。可以试下这个命令 javah -classpath . -jni 包名.名。...编译成功没有遇到坑的话,你就可以···\src\main\java目录下看到一个.h文件 5.接下来项目中创建一个jni目录,并将刚生成的.h文件剪切至这个目录 ?...到这里一个简单的jni程序就写好了 总结 以上所述是小编给大家介绍的使用Android studio编写一个小的jni程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

    89330

    JNI基础

    x86结构 : 主要在台式机、笔记本使用。如Intel和AMD的CPU 。 交叉编译: 一种操作系统平台或者cpu平台下 编译生成 另外一个平台(cpu)可以运行的二进制代码....LOCAL_MODULE := Hello #指定编译的源文件的名称 ,编译器非常智能 LOCAL_SRC_FILES := Hello.c #指定编译后的文件的类型....动态生成c方法名 在上面的调用c中的方法的时候,c中区实现这个方法的时候的方法名字写起来很复杂,而且容易出去,javajdk中提供了一个工具javah, 我们只要在windows的dos窗口cmd...到classes目录下去执行javah 包名.名就能够由class文件动态的生成一个c的h文件,在这个h文件中有该class文件中的native方法的名字 我们只要拷贝这个h文件到自己工程的jni目录中...); } 然后就和上面的步骤一样了 注意上面的这个javah的用法师jdk1.6中用的,如果在jdk1.7中就不能这样用了 对于jdk1.7使用javah的工具的时候就不能够直接进入到classes

    1.3K100

    NDK开发_cwin配置+编程简单步骤

    ---- 一、需要准备和安装 的东东 1)cygwin cygwin还是蛮强大的,相当于是window环境,提供了个 unix操作的环境吧。...后面window编译 so还得靠它; 2)android-ndk-*** ,这个的版本很多,也不清楚目前最新的版本是多少了,不过都没有太大的关系,我使用的 android-ndk-r8b,这个是提供了编译...首先就是新建了native ,重新 生成so的问题。 【遇到的问题】 1、javah +native 名,提示找不到 Bitmap ?...这时报错 找不到“com.visdom.lprtest.LPR”了, 原来完整的用法应该是如下图所示,除了指定需要的jar,还需要指定当前路径,不过同样的写法cmd中输入是可以的,cygwin中就报错了...(这里得说明下,如果写的native方法,不需要import其他的话,直接 javah + native就可以生成 .h了) ?

    53630

    【Android NDK 开发】Visual Studio 2019 使用 CMake 开发 JNI 动态库 ( 动态库编译配置 | JNI 头文件导入 | JNI 方法命名规范 )

    导入 JNI 头文件 : 使用 #include 导入JNI头文件 , 点击生成 , 没有报错 , 说明导入成功 ; // 009_Cmake.cpp: 定义应用程序的入口点。...Java 定义的 Native 方法 ---- Java 项目的代码中 , 定义 Native 方法 , 包名为 " kim.hsl.jni " , 名为 " Main " ; 定义的 Native...使用 javah 工具生成 C++ 中需要实现的 Native 方法 ( 仅做参考 ) ---- 上面根据 Java_包名_名_方法名 的方式比较繁琐 , 容易出错 , Java 中提供的 javah...命令执行路径 : Y:\002_WorkSpace\003_IDEA\001_JNI_Hello\src\ ; ③ 需要进入的目录 : 命令行工具中 , 进入 javah 命令执行路径 , 不要进错目录...① 指定输出文件 : 其中 -o Main.h 用于指定生成的目标文件 , 即在当前执行命令的目录生成 Main.h 头文件 ; ② 指定源文件 : kim.hsl.jni.Main 用于指定要生成的参考文件

    1.9K30

    JDK10要来了:下一代 Java 有哪些新特性?

    嗯,很烦,沟通起来费劲,没有统一的接口,也不灵活。现在是时候改变了。 干净的GC接口将使实现新的收集器变得更容易,这将使代码更加清洁,并且构建时可以更简单地排除一个或多个收集器。...四个目的: 通过不同的Java进程间共享公共元数据来减少占用空间。 改善启动时间。...目的 支持BCP 47语言标记最初是Java SE 7中添加的,支持Unicode区域扩展限于日历和数字。 此JEP将在相关的JDK中实现更多的最新LDML规范中指定的扩展。...316: 支持可替代的内存设备上进行堆分配 从jdk10开始,使HotSpot虚拟机支持在用户指定的备用内存设备(如NV-DIMM)分配Java对象堆。...要启用Graal作为JIT编译器,请在java命令行使用以下选项: -XX:+ UnlockExperimentalVMOptions -XX:+ UseJVMCICompiler 319: 根证书

    1.3K80

    【Android面试速学】JNI 了解一下?

    调用该方法的时候,Java_包名_名_方法名的c++函数。 我们先来创建JNI入口java JNI.java,定义好java的native方法。...-cp 从中加载的路径 -bootclasspath 从中加载引导的路径 是使用其全限定名称指定的 (例如...使用方式如下: -cp 等同于-classpath,用来指定要生成头文件的class文件路径 javah -d app/src/main/cpp/header -cp "....参考Android ART执行方法的过程,虚拟机执行方法的时候判断是否native方法,执行。 客户端的实现很简单,就是上面提到的静态注册和动态注册方式。 JNI 框架是啥,都有哪些东西?...NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。

    11410
    领券