CMD运行Intellij Idea编译后的class文件操作

或许很多Java初学者都会用javac、java命令运行程序,运行过几次后就转向开发工具。我本人也是这样,很久没有用命令行去执行java文件了,现在都是用Eclipse、Intellij Idea等编译工具直接编译运行。

昨天开始学习《算法》,里面很多代码都用到了命令行重定向文件实现输入输出,所以昨天用命令去执行class文件时碰到了一个NoClassDeFoundError异常,网上说的也很杂,看得"一头雾水",其实还是基础不好,搞清楚原理很多问题就迎刃而解了。

Idea编译后java文件和class文件不在同一个目录(后来发现和这没关系)

重新建一些目录测试

然后cmd进入当前目录,javac编译生成class文件,然后复制到out\com\test目录

然后进入该目录(模拟Idea目录),java HelloWorld运行报错

查了很多资料,发现只要在包的上一层目录(src)或者在任意目录添加classpath都可以运行

方法一:

方法二:

终于成功运行了,可以愉快地玩代码了...

知识点:

包是Java中为了解决命名冲突而设置的,一个程序写了包和没写在JVM中是两个东西,若没写,默认包,虚拟机会把所有的不写包名的类规整在一起组成默认包,默认包时不需要注意文件包结构

补充:idea 项目编译后没有class文件

问题

idea项目突然无法运行,提示找不到某个类。查看了编译输出目录out,发现没有class文件。

尝试解决

尝试删除out、重新导入项目、在gradle面板点击刷新,都没能解决问题。

问题解决

最后,点击Build->Rebuild Project解决。不明原因,先做下记录。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • 使用idea插件进行java代码生成的操作

    java代码生成 使用idea的插件codehelper.generator进行代码生成,可以根据entity,生成对应的 1.建表sql语句 2.dao.java文件 3.dao.xml文件 4.service.java文件 同时这个插件还能在new了entity之后生成所有的set方法 多次生成,不会影响自己手动添加的代码 安装 安装插件codehelper.generator 案例 @Data @AllArgsConstructor @NoArgsConstructor public cl

  • IntelliJ IDEA2020、pycharm、webstorm激活永久激活及使用教程(总目录篇) 原创

    IntelliJ IDEA的简介   IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.Ant.JUnit.CVS整合.代码审查. 创新的GUI设计等方面的功能可以说是超常的.IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主. 官网介绍    IntelliJ IDEA的每个

  • cmd中javac和java使用及注意事项详解

    一.简述: cmd中,执行java命令与javac命令的区别: javac:是编译命令,将java源文件编译成.class字节码文件. 例如:javac hello.java 将生成hello.class文件. java:是运行字节码文件:由java虚拟机对字节码进行解释和运行. 例如:java hello 二.详述: 下面我们来写个java文件试试. 1.打开记事本,输入一个类+主函数 public class Hello{ public static void main(String[] a

  • IntelliJ IDEA配置java环境及解决IDEA不能直接运行单个JAVA文件的问题

    写Java代码选择IEDA的原因是我之前用的Pycharm写python,而IEDA和pycharm几乎一模一样的用法,而且IEDE可以写Java,Python等很多语言,只要安装了对应的插件:File->Settings->Plugins->Browse respositories- 安装IntelliJ IDEA 1.上官网下载IntelliJ IDEA 2.安装 下载jdk和jre JRE: Java Runtime Environment JDK:Java Development

  • CMD运行Intellij Idea编译后的class文件操作

    或许很多Java初学者都会用javac.java命令运行程序,运行过几次后就转向开发工具.我本人也是这样,很久没有用命令行去执行java文件了,现在都是用Eclipse.Intellij Idea等编译工具直接编译运行. 昨天开始学习<算法>,里面很多代码都用到了命令行重定向文件实现输入输出,所以昨天用命令去执行class文件时碰到了一个NoClassDeFoundError异常,网上说的也很杂,看得"一头雾水",其实还是基础不好,搞清楚原理很多问题就迎刃而解了. Idea

  • 解决idea 项目编译后没有class文件的问题

    问题 idea项目突然无法运行,提示找不到某个类.查看了编译输出目录out,发现没有class文件. 尝试解决 尝试删除out.重新导入项目.在gradle面板点击刷新,都没能解决问题. 问题解决 最后,点击Build->Rebuild Project解决.不明原因,先做下记录. 补充知识:IDEA项目无法引用本地Class类,而且各种报错 背景 今天从git 上下载下来的项目,在别的机器上都可以正常运行,然而到了我的机器上,就各种报错,而且本地的class文件也无法引用. 1.删掉项目,重新下

  • 如何解决uni-app编译后 vendor.js 文件过大

    目录 uni-app编译后vendor.js文件过大 前景 运行后发现 小程序分包后vendor还是过大 添加以下代码 uni-app编译后vendor.js文件过大 前景 采用uni-app开发的微信小程序,发布时工具提示vendor.js过大,已经跳过es6向es5转换.查看后发现编译后代码中common/vendor.js已超过500k,所以需要体积控制. HBuilderX创建的项目勾选运行–>运行到小程序模拟器–>运行时是否压缩代码 使用cli创建的项目,可以在pacakge.jso

  • Clion-MinGW编译后的exe文件添加ico图标的操作方法

    目录 编译前准备 1.编译ico.rc>ico.o 2.编译为执行文件exe 手动编译 Clion编译 效果 详细信息乱码解决 修改exe图标无效 编译前准备 我们正常直接编译后生成的exe是没有任何图标的 那么很多exe程序都是有个性图标的那么在vs和qt中是比较简单的可是在Clion编译中怎么才能添加呢? 前提条件,本机必须配置好MinGW,并且环境变量也都添加了 经过自己研究发现,我们需要创建一个ico.rc文件放在项目的根目录, 然后给这个文件添加一些配置信息 id ICON "l

  • 基于jenkins发布编译后的class文件

    1.新建自由风格项目 2.配置参数化构建,将发布状态Status.是否重启Reboot.发布版本号Version.发布的文件file.发布的项目project.要发布的tomcat名称tomcat_name.发布的路径update_path分别设置为参数 3.先执行一次发布,会在/var/lib/jenkins/workspace生成job名的文件夹,我这里是hczd-sys_for_Onlyall 4.在job文件夹里面创建工程名,我这里是eloan,然后再创建Onlyadd,以区分是部分更新

  • 利用vscode调试编译后的js代码详解

    前言 在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求. vscode 是一个非常棒的编辑器,内置功能强大的调试能力.经过简单的设定,就可以对 js 文件进行调试.但有时我们想要调试的内容是经过编译的,当然我们可以直接调试编译后的代码.但经过编译压缩以后的代码,可读性很差,且也可能无法分模块查看了,有什么方法进行编译前的代码调试么?答案当然是肯定的. 下面话不多说了,来一起看看详细的介绍吧. vscode 的常规调试 vscode 的调试界面在窗口最左边: 最

  • GraalVM native-image编译后quarkus的超音速启动

    目录 前言 native-image编译配置 效果展示 native-image启动时间 jvm下的启动时间 结语 前言 quarkus号称超音速亚原子JAVA为Graalvm量身定制的java堆栈,是否名副其实呢?下面就来看看真实情况如何.动手前先简单介绍下Graalvm,它是oracle出品的一个AOT编译器,可以将应用程序编译成本地映像,通俗的说可以将java编译成机器可直接执行的程序,可以参考go语言的编译输出产物.而且graalvm不仅仅支持java,对其他语言也有很好的支持.下面先看

  • 了解VBE VBE则是编译后(加密)的VBS代码

    一.vbe与vb VBE跟VBS差不多,都是VB脚本代码文件,但他们也有不同: VBS是明文代码,就是说可以直接使用记事本编辑: VBE则是编译后(加密)的VBS代码,使用记事本打开不能直接看到源代码.(有些例外) 加密工具有很多,其中常用的是 Microsoft Script Encoder(screnc.exe),此外还有许多. VBE格式在QQ传文件中往往不会被拦截,而VBS格式却会被拦截,这应该是程序设计者的一个失误. 因此,所以很多人没有进行加密而直接改扩展名为"VBE",依

  • Jenkins 编译后使用SSH发布详解

    前言 想要实现自动发布编译好的apk,我们可以使用官方插件库里的如下插件. 你可以使用FTP SSH等方式自动化发布,当然你也可以写脚本实现复杂的发布操作. 我以Publish Over SSH为例简单讲解下(主要是目前没部署FTP服务 TAT) 因为不知道怎么使用这个插件,所以我查看了下官方文档 https://wiki.jenkins-ci.org/display/JENKINS/Publish+Over+SSH+Plugin 看得懂E文的推荐去看看,比我讲的详细的多了. 这也算是能力的锻炼

  • cmd运行python文件时对结果进行保存的方法

    当用cmd命令行运行python文件时,我们知道可以通过 >python pyfile.py 来运行python文件,此时的输出会直接打印到cmd输出行中,如果希望将运行直接保存而不是即时输出,除了在python代码中直接写入保存,还可以通过命令行: >python pyfile.py > saveit.txt 保存到当前文件目录下,或者你可以指定path. 其实当cmd切换到python文件所在的文件夹后,可以省略.py前面的python, 直接通过: >pyfile.py 甚至

随机推荐