如何运行包中的 Java 类?

2023-11-22

我有两个java类如下

App1不带包装:

class App1 {
    public static void main(String[] args) {
        System.out.println("App1 hello world...");
    }
}

App2在一个包中:

package java.java.package1;    
class App2 {
    public static void main(String[] args) {
        System.out.println("App2 hello world...");
    }
}

我可以编译它们:

D:\javaTest>javac App1.java

D:\javaTest>javac App2.java

但是,我只能运行第一个:

D:\javaTest>java App1
App1 hello world...

D:\javaTest>java java.java.package1.App2

Exception in thread "main" java.lang.NoClassDefFoundError: java/java/package1/App2
Caused by: java.lang.ClassNotFoundException: java.java.package1.App2
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: java.java.package1.App2.  Program will exit.

我怎样才能跑App2?


如果你把source在与包名称匹配的适当目录层次结构中(D:\javaTest\java\java\package1\App1.java),并从层次结构的根开始编译/运行(D:\javaTest),你就不会遇到这个问题:

D:\javaTest>javac java\java\package1\App1.java

D:\javaTest>java java.java.package1.App1
App2 hello world...

您还可以使用以下命令进行编译-d选项,以便将类移动到这样的目录层次结构中:

javac -d . App2.java
java java.java.package1.App2

请注意,您不应使用以下开头的包名称java,更高版本的 JDK 将抛出 SecurityException。看这个问题了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何运行包中的 Java 类? 的相关文章

  • 无法在 Android 10 中创建目录

    我无法在 android 10 中创建目录 它可以在 android Oreo 之前的设备上运行 我尝试了两种创建文件夹的方法 Using File mkdir File f new File Environment getExternal
  • 具有更高可见性的重写方法是良好的实践吗?

    回答这个问题 如何使用 GUI 使用 PaintComponent 初始化 GUI 然后添加基于鼠标的 GUI https stackoverflow com questions 21336141 how to gui using pain
  • Java Try Catch Final 没有 Catch 的情况下会阻塞

    我正在审查一些新代码 该程序只有一个 try 和一个 finally 块 既然排除了 catch 块 那么如果 try 块遇到异常或任何可抛出的内容 它如何工作 它直接进入finally块吗 如果 try 块中的任何代码可以引发已检查异常
  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 主线程如何在该线程之前运行?

    我有以下代码 public class Derived implements Runnable private int num public synchronized void setA int num try Thread sleep 1
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • 隐式超级构造函数 Person() 未定义。必须显式调用另一个构造函数?

    我正在开发一个项目 但收到错误 隐式超级构造函数 Person 未定义 必须显式调用另一个构造函数 我不太明白它 这是我的人物课程 public class Person public Person String name double D
  • RSA OAEP、Golang 加密、Java 解密 -BadPaddingException:解密错误

    我正在尝试解密使用 RSA OAEP 在 Golang 中加密的字符串 但出现 BadPaddingException 解密错误 很难弄清楚我错过了什么 这是Golang加密方法 func encryptString rootPEM io
  • 在 Spring Boot Actuator 健康检查 API 中启用日志记录

    我正在使用 Spring boot Actuator APIproject https imobilenumbertracker com 拥有一个健康检查端点 并通过以下方式启用它 management endpoints web base
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • 如何在 Eclipse Java 动态 Web 项目中使用 .properties 文件?

    我正在 Eclipse 中开发动态 Web 项目 我创建了一个 properties 文件来存储数据库详细信息 用户名 密码等 我通过右键单击项目和 New gt File 添加它 我使用了Java util包Properties类 但它不
  • 尝试使用等于“是”或“否”的字符串变量重新启动 do-while 循环

    计算行程距离的非常简单的程序 一周前刚刚开始 我有这个循环用于解决真或假问题 但我希望它适用于简单的 是 或 否 我为此分配的字符串是答案 public class Main public static void main String a
  • 为什么java中的for-each循环中需要声明变量

    for 每个循环的通常形式是这样的 for Foo bar bars bar doThings 但如果我想保留 bar 直到循环结束 我可以not使用 foreach 循环 Foo bar null Syntax error on toke
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • Hibernate 和可序列化实体

    有谁知道是否有一个框架能够从实体类中剥离 Hibernate 集合以使它们可序列化 我查看了 BeanLib 但它似乎只进行实体的深层复制 而不允许我为实体类中的集合类型指定实现映射 BeanLib 目前不适用于 Hibernate 3 5

随机推荐

  • rdtscp 的“半栅栏”行为是怎么回事?

    多年来 x86 CPU 支持rdtsc指令 读取当前CPU的 时间戳计数器 该计数器的确切定义随着时间的推移而发生变化 但在最近的 CPU 上 它是一个相对于挂钟时间以固定频率递增的计数器 因此它作为快速 准确的时钟的构建块或测量时间非常有
  • 限制分号来防止SQL注入?

    我发现 SQL 注入字符串通常是这样构造的 DROP DATABASE db 因此 如果我不允许在应用程序的输入中使用分号 这是否可以 100 防止任何 SQL 注入攻击 不 它不能防止 SQL 注入攻击 任何时候您在客户端或使用存储过程中
  • Postgresql - 与 string_agg 相反

    我正在寻找一个 postgresql 函数 它会做相反的事情string agg 我有一个电影表 其中标签列包含诸如 Action Adventure Drama Horror Sci Fi Action Horror Sci Fi 例如
  • 结合参考使用 Union

    在工作中 我一直使用 Linux 以及 C 11 和 C 14 的 GCC 编译器 在一些工作代码中 我使用联合来存储引用和指针 如下所示 仅简化为重要部分 struct MyStruct Stuff union double x doub
  • .NET Web API 2 OWIN Bearer Token Authentication 直接调用

    我的 Web Api 项目有问题 我的数据库中存储了文件 并希望在新窗口中直接调用它们来查看 保存 URL 如 api Files 5 5 是 FileId 我使用 Bearer Token 来处理我的一般 AJAX 请求 使用 Angul
  • 如何否定正则表达式中的特定单词? [复制]

    这个问题在这里已经有答案了 我知道我可以否定字符组 如 bar 但我需要一个正则表达式 其中否定适用于特定单词 所以在我的示例中如何否定实际的bar 而不是 酒吧中的任何字符 一个很好的方法是使用负前瞻 bar 负向先行结构是一对括号 左括
  • Mongoose/mongoDB 查询连接..但我来自 sql 背景

    我来自 sql 背景 所以在连接表的 sql 中编写查询非常简单 但我想我在 mongoose mongodb 中缺少它 基本上我知道 Subscriber ID 它映射到用户集合中的文档 我想拉出项目组 以及用户所属的所有项目 所以如果我
  • WPF 使用 ResizeGrip 调整控件大小

    我希望用户可以通过拖动右下边框上的调整大小夹点来调整控件的大小 随着ResizeGrip似乎存在实现此目的的完美控制 但我不知道使用此控制的计划是什么 它并非源自 Thumb 但是在msdn被写为它是它的 实现 并且也不支持以下的路由事件T
  • 如何在 Android TabLayout 中设置选项卡的高度?

    我在 Android 中有这个 TabLayout 并且想让选项卡比默认值 48dp 高一点
  • 如何从数组中删除一定范围的值?

    If array 1 2 3 4 5 6 7 8 9 我想从数组中删除一系列元素 例如 我想删除索引在范围内的所有元素2 5从该数组中 结果应该是 1 2 7 8 9 提前致谢 Use slice 删除由 范围给出的元素 array 1 2
  • 在日历应用程序中使用特定事件 ID 打开“事件详细信息”

    我正在尝试打开包含特定事件的日历 我已以编程方式添加了事件 并且这些事件的所有 ID 都是持久的 这就是我添加事件的方式 IBAction addEvent id sender EKEventStore store EKEventStore
  • 哪个 Facebook SDK 与 PHP 5.3 一起使用?

    不幸的是我已经走进了一个死胡同 由于各种遗留问题和其他原因 我无法将系统升级到 PHP 5 4 和根据脸书 我需要5 4才能运行最新的SDK 我愿意接受较低的 SDK 但是 如果我使用旧版 SDK 可以吗 我应该使用哪个 SDK 奖金问题
  • 分层实体的接口设计

    我必须为分层实体设计一个接口 interface HierarchicalEntity
  • 最小距离哈密顿路径Javascript

    我知道这是一个相当常见的问题 一般而言 但我已经被它难住了一段时间了 我正在寻找给定一组 x y 坐标的最小距离哈密顿路径 起点和终点完全是任意的 但它不能循环 所以标准 tsp 已经消失 尽管据说在与所有其他节点的距离为 0 处添加一个虚
  • 使用 iOS 8 在 iPad 上正确呈现 UIAlertController

    苹果在 iOS 8 0 中引入了UI警报控制器取代UI操作表 不幸的是 苹果没有添加任何有关如何呈现它的信息 我找到了一个entryhayaGeek 的博客上有关于它的信息 但是它似乎不适用于 iPad 这个观点完全错位了 Misplace
  • CodeIgniter 3 和会话

    我最近按照本指南更新到 CodeIgniter 3 CI3 从2 2 1升级3 0 我在 application config config php 文件中设置了此配置 config sess driver files config ses
  • 在 Java DOM 中创建命名空间前缀的 XML 节点

    我正在通过 Java 创建几个 XML 文件 到目前为止一切都工作正常 但现在我在尝试创建带有命名空间前缀节点的文件时遇到了问题 即类似的内容
  • 导入 Visual Studio TFS 工作区

    有没有办法导入 Visual Studio TFS 工作区 我有 30 多个工作区 我需要将它们导入到新计算机上的 TFS 谢谢 如果你想克隆结构的工作空间 但不要管旧的 运行 tf workspace server yourserver
  • 如何使用 NodeJS 以超级用户身份连接到另一个 MongoDB 数据库?

    解决方案为这个问题工作正常 而不是做 mongo my db name u superuser p 1234 I do mongo admin u superuser p 1234 connecting as super user to a
  • 如何运行包中的 Java 类?

    我有两个java类如下 App1不带包装 class App1 public static void main String args System out println App1 hello world App2在一个包中 packag