精华内容
下载资源
问答
  • 首先,确保 IDEA软件正确安装完成,Java 开发工具包 JDK安装完成。 IntelliJ IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windows JDK 下载地址:...

    ----2020-10-26 更新----

    最近突然看到这篇几年前随手记录的文章,居然浏览量那么高。看来很多小伙伴也开始从 Eclipse 转到 IDEA,这里为了让大家更好的掌握 IDEA 的使用,我建议大家可以看看下面这个 IDEA 教程。

    IDEA 教程:IntelliJ-IDEA-Tutorial

     

    首先,确保 IDEA 软件正确安装完成,Java 开发工具包 JDK 安装完成。

    IntelliJ IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windows

    JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

    IDEA 的 Java 项目 (Project) 则相当于 Eclipse 的工作空间 (workspace) 的概念。

    一、创建 Java 项目:

        1、打开 IDEA 软件,点击界面上的 Create New Project 

        

    2、出现以下界面,选中 Java,然后选择 JDK,最后点击 Next,进行下一步(我的是 jdk1.8)

    3、这里是选择生成项目时是否创建 Java 文件,勾选上 Java Hello World 后会生成一个默认的 Hello world 文件,点击 Next 进行下一步,

    4、给项目命名,默认是 untiled,自己填个名字吧,最后点击 finish

    5、项目创建完成

     

    二、创建 Java 文件:

          1、点击 src——>new——>package,创建一个文件包,并给包命名,与 Eclipse 的包类似;

          

     给包命名

     

    2、在包下面创建 Java 类文件,点击包名——>New——>Java Class;

    给类文件命名

    4、运行 Java 文件,点击 Run——>Run......;

    出现以下弹框,点击要运行的文件名,这里是 Hello;

    运行结果

    展开全文
  • Java文件在命令行怎么运行

    千次阅读 2018-08-17 23:03:27
    无jar包依赖的java文件运行方式 首先我们编写一个 HelloWorld.java 文件放在C:\test文件夹下 (1)运行cmd,使用cd命令切换至C:\test目录下 (2)使用 javac HelloWorld.java 编译java文件 (3)使用 java ...

    下面介绍了我探索着实现Java文件在命令行运行的路程。

    无jar包依赖的java文件运行方式

    首先我们编写一个 HelloWorld.java 文件放在C:\test文件夹下
    (1)运行cmd,使用cd命令切换至C:\test目录下
    (2)使用 javac HelloWorld.java 编译java文件
    (3)使用 java HelloWorld 运行java文件
    注意:编译时必须加 .java ,否则将会报错;运行时不加后缀,否则将会报错

    public class HelloWorld {
        public static void main(String[] args){
            System.out.println("Hello World! 你好 世界!");
        }
    }
    

    都说一图顶千言,如果上面介绍的不是很直观,可以参考下面的图示
    这里写图片描述

    有jar包依赖的java文件运行方式

    我们以mysql-connector-java-5.1.22-bin.jar为例,并且使用Java中JDBC编写Conn类以用来连接数据库查询数据。

    import java.sql.*;
    
    public class Conn {
    	//此处以mysql驱动为例,如果博友要使用此代码,别忘了改数据库名称、用户名、密码
    	public static final String driver = "com.mysql.jdbc.Driver";
    	public static final String url = "jdbc:mysql://localhost:3306/db_test?CharacterEncoding=utf8";
    	public static final String user = "root";
    	public static final String pswd = "admin";
    
        public static void main(String[] args){
            try {
                Class.forName(driver);
                Connection conn = DriverManager.getConnection(url,user,pswd);
                Statement stm = conn.createStatement();
                String sql = "select * from tab_test";
                ResultSet rs = stm.executeQuery(sql);
                while(rs.next()){
                    System.out.println(rs.getString("name"));
                }
                rs.close();
                stm.close();
                conn.close();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    

    错误的运行方式

    以下两条是失败的例子,以用于给博友警示:
    (1)首先我们将jar包放在C:\lib文件夹下,然后使用环境变量配置 classpath 配置jar包的路径。例如:在classpath中添加C:/lib/mysql-connector-java-5.1.22-bin.jar;路径后,运行java程序,以失败告终。
    (2)将jar包直接放在运行java文件的目录下,运行java文件,以失败告终。

    正确的运行方式:

    使用javac -classpath “.;C:\lib\” Conn.java 编译成功
    使用java -classpath “.;C:\lib\
    ” Conn 运行成功
    小知识点:classpath可以简写为 cp 即 java -cp “.;C:\lib\*” Conn
    注意事项:编译时需要写classpath(如果不写的话,有些时候是不会报错的,可以正常编译),但是运行时必须写classpath,如果运行时不写classpath将会报错。 classpath后面的路径中 .; 必须写,而 * 号代表所有jar包,可以写成具体的jar包,例如:".;C:\lib\mysql-connector-java-5.1.22-bin.jar"。java文件也可以写成绝对路径,例如:C:\test\Conn.java

    如果上面介绍的不是很直观,可以参考下面的图示
    这里写图片描述
    或者
    这里写图片描述

    展开全文
  • java文件运行

    万次阅读 2019-02-17 11:14:42
    运行java文件,首先要有程序入口,即:public static void main(String[] args){}方法,当有类有这个方法后,可以用javac命令编译并用java命令(已配置好java环境变量)来执行该文件。   环境变量作用:当配置...

    运行java文件,首先要有程序入口,即:public static void main(String[] args){}方法,当有类有这个方法后,可以用javac命令编译并用java命令(已配置好java环境变量)来执行该文件。

     

    环境变量作用:当配置java环境变量后,输入java命令则会使windows直接在变量里配置的目录中找到java.exe运行。

     

    本文分析的源码为jdk8源码

    运行java命令后,jdk8启动入口:main.c就会执行

    可以看到这个文件在非win32位下几乎就是直接调用JLI_Launch方法!进入同目录下的java.c可以看到JLI_Launch方法的实现,具体代码如下:

    JLI_Launch(int argc, char ** argv, /* main argc, argc */

    int jargc, const char** jargv, /* java args */

    int appclassc, const char** appclassv, /* app classpath */

    const char* fullversion, /* full version defined */

    const char* dotversion, /* dot version defined */

    const char* pname, /* program name */

    const char* lname, /* launcher name */

    jboolean javaargs, /* JAVA_ARGS */

    jboolean cpwildcard, /* classpath wildcard*/

    jboolean javaw, /* windows-only javaw */

    jint ergo /* ergonomics class policy */

    )

    {

    int mode = LM_UNKNOWN;

    char *what = NULL;

    char *cpath = 0;

    char *main_class = NULL;

    int ret;

    InvocationFunctions ifn;

    jlong start, end;

    char jvmpath[MAXPATHLEN];

    char jrepath[MAXPATHLEN];

    char jvmcfg[MAXPATHLEN];

     

    _fVersion = fullversion;

    _dVersion = dotversion;

    _launcher_name = lname;

    _program_name = pname;

    _is_java_args = javaargs;

    _wc_enabled = cpwildcard;

    _ergo_policy = ergo;

     

    InitLauncher(javaw);

    DumpState();

    if (JLI_IsTraceLauncher()) {

    int i;

    printf("Command line args:\n");

    for (i = 0; i < argc ; i++) {

    printf("argv[%d] = %s\n", i, argv[i]);

    }

    AddOption("-Dsun.java.launcher.diag=true", NULL);

    }

     

    /*

    * Make sure the specified version of the JRE is running.

    *

    * There are three things to note about the SelectVersion() routine:

    * 1) If the version running isn't correct, this routine doesn't

    * return (either the correct version has been exec'd or an error

    * was issued).

    * 2) Argc and Argv in this scope are *not* altered by this routine.

    * It is the responsibility of subsequent code to ignore the

    * arguments handled by this routine.

    * 3) As a side-effect, the variable "main_class" is guaranteed to

    * be set (if it should ever be set). This isn't exactly the

    * poster child for structured programming, but it is a small

    * price to pay for not processing a jar file operand twice.

    * (Note: This side effect has been disabled. See comment on

    * bugid 5030265 below.)

    */

    SelectVersion(argc, argv, &main_class);

     

    CreateExecutionEnvironment(&argc, &argv,

    jrepath, sizeof(jrepath),

    jvmpath, sizeof(jvmpath),

    jvmcfg, sizeof(jvmcfg));

     

    if (!IsJavaArgs()) {

    SetJvmEnvironment(argc,argv);

    }

     

    ifn.CreateJavaVM = 0;

    ifn.GetDefaultJavaVMInitArgs = 0;

     

    if (JLI_IsTraceLauncher()) {

    start = CounterGet();

    }

     

    if (!LoadJavaVM(jvmpath, &ifn)) {

    return(6);

    }

     

    if (JLI_IsTraceLauncher()) {

    end = CounterGet();

    }

     

    JLI_TraceLauncher("%ld micro seconds to LoadJavaVM\n",

    (long)(jint)Counter2Micros(end-start));

     

    ++argv;

    --argc;

     

    if (IsJavaArgs()) {

    /* Preprocess wrapper arguments */

    TranslateApplicationArgs(jargc, jargv, &argc, &argv);

    if (!AddApplicationOptions(appclassc, appclassv)) {

    return(1);

    }

    } else {

    /* Set default CLASSPATH */

    cpath = getenv("CLASSPATH");

    if (cpath == NULL) {

    cpath = ".";

    }

    SetClassPath(cpath);

    }

     

    /* Parse command line options; if the return value of

    * ParseArguments is false, the program should exit.

    */

    if (!ParseArguments(&argc, &argv, &mode, &what, &ret, jrepath))

    {

    return(ret);

    }

     

    /* Override class path if -jar flag was specified */

    if (mode == LM_JAR) {

    SetClassPath(what); /* Override class path */

    }

     

    /* set the -Dsun.java.command pseudo property */

    SetJavaCommandLineProp(what, argc, argv);

     

    /* Set the -Dsun.java.launcher pseudo property */

    SetJavaLauncherProp();

     

    /* set the -Dsun.java.launcher.* platform properties */

    SetJavaLauncherPlatformProps();

     

    return JVMInit(&ifn, threadStackSize, argc, argv, mode, what, ret);

    }

     

    可以看到JLI_Launch方法中声明了变量后,运行如下一段代码:

    1.上面这段代码主要就是来设置是否打印debug信息。

     

     

    2.接着就是运行上面这段的SelectVersion方法,它就是选择JRE版本,规则是:若环境变量指定了JRE版本,则用这个指定的版本,若没有指定,则根据运行时的参数来搜索目录或jar文件解析来选择版本。

     

     

    3.CreateExecutionEnvironment就是创建执行的环境,代码如上所示,这个方法会确定需要的物理模型,比如64位还是32位、JRE路径、JVM类型和路径等。其中,JVM类型是ReadKnownVMs方法读取jvm.cfg文件获知的,若java命令中指定了jvm类型则以指定的参数(如:-XXaltjvm)为准!JVM路径是根据JVM.dll文件获知的

     

    4.当指定非java参数如-XX:NativeMemoryTracking=value(jvm参数)这个参数后,则就会启用跟踪java的内存使用的配置,默认value为off,不启用

     

    5.LoadJavaVM主要加载jvm运行所需要的类库,将JVM.dll中定义的JNI_CreateJavaVM和JNI_GetDefaultJavaVMInitArgs函数绑定到ifn变量的CreateJavaVM与GetDefaultJavaVMInitArgs指针上

     

    6.解析参数。若有java参数,就用TranslateApplicationArgs解析 -cp 参数,AddApplicationOptions解析-Denv.class.path等这样的参数,否则设置默认classpath。然后ParseArguments几乎将所有命令中的参数解析

     

     

    7.可以看出最后JVMInit方法就是调用ContinueInNewThread来设置线程栈大小以及创建新线程来创建jvm以及调用main方法。设置线程栈:若启动参数未设置-Xss的值,threadStackSize会一直为0,直到上面这段代码,当threadStackSize为0,则会通过GetDefaultJavaVMInitArgs方法即调用JVM.dll的JNI_GetDefaultJavaVMInitArgs方法来确定线程栈大小

     

     

    ContinueInNewThread调用了JavaMain和ContinueInNewThread0方法。

    JavaMain方法主要步骤:初始化jvm(InitializeJVM)、验证加载主类(LoadMainClass)、获取main方法ID(GetStaticMethodID)、加载main方法(CallStaticVoidMethod)

     

    InitializeJVM方法主要调用CreateJavaVM方法,CreateJavaVM又是调用JNI_CreateJavaVM方法,在JNI_CreateJavaVM主要步骤如下:

    1.使用Atomic::xchg来同步产生唯一一个jvm

    2.主要调用create_vm来初始化jvm,比如初始化 版本号、流模块、jvm启动器参数等

    3.给jvm的线程初始化jni环境(jni主要用于不同语言间的函数调用)

    4.启动跟踪时间进程

    5.初始化jvmti环境(jvmti主要用于提供性能分析,debug、内存管理等工具接口)

    6.加载java.lang.String等系统类

    7.设置jvm线程等状态

     

    LoadMainClass是验证并加载主类

     

    验证并加载main的class后就是加载main方法了,具体如上所示。

     

    展开全文
  • 很多时候,我们在写代码时候,会出现这个问题: 为什么Eclipse中,打开多个java文件时,运行一个java文件运行的却是另一个java文件结果?

    很多时候,我们在写代码时候,会出现这个问题:

    • 为什么Eclipse中,打开多个java文件时,运行一个java文件,运行的却是另一个java文件结果?
      这里写图片描述

    解决办法:
    1.有人把主函数main写成了mian。(这竟然真的存在这种情况,我就干过)
    是不是傻
    2.还有经常存在复制粘贴中的错误。
    比如,java文件名为(file2.java)以下代码:

    package File_all;
    import java.io.File;
    import java.io.IOException;
    
    class Main {
    
        public static void main(String[] args) {
    
            File file = new File("d:\\test_file.txt");
            Main.judeFileExists(file);
    
            File dir = new File("d:\\test_dir");
            Main.judeDirExists(dir);
        }
    
        // 判断文件是否存在
        public static void judeFileExists(File file) {
    
            if (file.exists()) {
                System.out.println("file exists");
            } else {
                System.out.println("file not exists, create it ...");
                try {
                    file.createNewFile();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
    
        }
    
        // 判断文件夹是否存在
        public static void judeDirExists(File file) {
    
            if (file.exists()) {
                if (file.isDirectory()) {
                    System.out.println("dir exists");
                } else {
                    System.out.println("the same name file exists, can not create dir");
                }
            } else {
                System.out.println("dir not exists, create it ...");
                file.mkdir();
            }
    
        }
    
    }

    类名和文件名不一致,导致无法运行,即使运行运行的也是别的文件的结果

    展开全文
  • cmd运行java文件

    千次阅读 2019-06-07 20:16:01
    1.进到java文件所在目录 假设我们的A.java文件在F:\数据结构\课程设计\45目录下 打开cmd进到F盘 然后输入“cd\数据结构\课程设计\45”,进入文件存放路径。成功之后会看到命令行前缀是带有路径的。 2.编译java文件...
  • 如何运行java文件

    千次阅读 2017-06-21 21:33:16
    1、安装jdk 2、jdk环境变量配置 (1)添加JAVA_HOME系统变量:“jdk路径” (2)编辑PATH系统变量,添加后缀:“;...编译java文件,生成class文件:javac ***.java 解析class文件:java *** 注意:j
  • 如何在eclipse中运行java文件

    万次阅读 多人点赞 2018-09-24 15:22:58
    很多像我这样的小白在学习中总会遇到各种...1:直接在默认包下运行java文件 a:复制java文件 b:在src上右击选择Paste(会自动粘贴刚刚复制的java文件) c:这样就可以在默认包下编辑运行java文件 不需要再添加...
  • 使用命令运行java文件

    千次阅读 2019-05-17 14:59:27
    java运行在虚拟机的基础上,虚拟机执行字节码.class文件运行出最终结果,那么今天我们来单纯使用java命令来运行java文件;废话不多说,直接上操作 1. java环境配置(跳过) 2. 编写java文件 新建txt文本文件,然后...
  • 在目录G:\test(视为项目路径)下创建一个com文件夹,com目录下创建一个test.java文件,文件内容如下: package com;//这个是项目下的目录路径,在哪个目录就是对应的相对目录名 public class test { /** * @...
  • Eclipse 想运行一个java文件,结果却默认运行了上一次正常运行java文件 有两种情况: #第一种情况: main函数没有加static关键字,加上就能正常运行了 例: 第二种情况:main函数不在与文件名一致的类里 例:文件...
  • 命令行编译java文件运行class文件

    万次阅读 2018-09-18 22:21:08
    一、编译java文件的话,则需要先安装jdk环境。 安装JDK后配置环境变量 :计算机➡属性➡高级系统设置➡高级➡环境变量,在系统变量里:  1)新建JAVA_HOME,变量值为jdk路径,我的是C:\Program Files\Java\jdk...
  • java入门:doc命令运行java文件

    千次阅读 2016-04-23 11:50:20
    java入门:doc命令运行java文件 本人刚开始自学java,但是在设置环境变量后,编译出现了javac:找不到文件:HelloWorld.java,   你输入javac看下是否可用; 一、首先可以在D盘新建文件,输入 public class ...
  • windows使用命令行运行java文件

    千次阅读 2019-03-12 20:31:22
    这篇文章将讲解如何用命令行工具运行java文件 原文:https://blog.csdn.net/qq_42650988/article/details/81366388 一、命令行工具的使用 在开始菜单中打开运行工具,或使用快捷键win+R键打开,输入cmd即可。 ...
  • java运行class文件或jar文件

    千次阅读 2017-05-16 17:38:10
    运行class文件上时,java会从classpath去寻找对应的class,这时如果目录不包含要运行的class所在的目录,那么就会出现下面这个错误,这时候需要将环境变量的classpath中配置当前路径. 或者在运行命令 java后指定...
  • 要想编译和运行java文件,很简单,只需要两个命令: (1) javac:作用:编译java文件;使用方法: javac Hello.java ,如果不出错的话,在与Hello.java 同一目录下会生成一个Hello.class文件,这个class文件是操作...
  • 黑窗口运行java文件步骤

    千次阅读 2017-11-02 20:31:38
    误区纠正:运行java文件可以不用配置jdk环境变量,配置jdk只是为了方便运行时找到它 未配置环境变量运行java程序步骤: 1.安装jdk,在G盘下建一个java文件测试类 2.win+r 快捷键输入cmd打开黑窗口 3.cd C:\...
  • InterllIj Idea运行.java文件

    千次阅读 2018-12-17 21:00:00
    运行java文件解决方法 打开一个只包含两个.java的文件夹,发现文件左下角有一个标志,此时不能运行 解决方法 配置项目结构 设置SDK、项目语言级别和项目编译输出的地址 注意设置项目输出路径时一定要新建一个...
  • 如何在命令行运行java文件

    千次阅读 2015-06-07 17:38:48
    #命令行运行java文件: 1.打开(cd java文件所在目录) 2.配置:  set path=C盘下jdk1.5.0_05/bin所在的目录 --你自己的jdk安装目录  set classpath=. --当前路径 注:若要导包时(如.jar包),就应 set classpath...
  • 动态编译和运行外部java文件

    千次阅读 2016-08-08 17:40:39
    笔者在最近的项目中对一个用户任意指定的Java项目或Java文件进行测试,这就涉及到编译和运行这些Java文件,折腾一段时间后实现了这个功能,在这记录下使用到的技术点。编译Java文件对于一个给定的java文件进行编译,...
  • 如何使用javac java来编译运行java文件

    千次阅读 2018-10-19 15:09:34
    注意java编译后生成的字节码文件有默认的文件名,文件名总是以源文件所定义类的类名作为主文件名,以.class作为后缀名。 这意味着如果一个源文件里定义了多个类,将编译生成多个字节码文件,一次编译可能生成多个...
  • Idea运行java文件时出现橙色时钟图标,也无法在当前包内创建新的java文件。 今天从当前窗口开之前写的一些代码时发现代码运行不了。 百度了一下,发现要删除当前的content root并重新添加。 于是,首先ctrl+alt...
  • 在上一篇文章中,我介绍了如何将java文件打包成jar包,再用bat批处理命令在dos窗口中运行,但是这对于把程序交给那些电脑小白来说,肯定还远远不够 ,所以干脆将它转成exe文件来直接双击运行吧. 在进行这篇教程之前,大家...
  • cmd命令行运行java文件(javac、java)

    千次阅读 2018-08-24 11:22:07
    注:在Windows系统下运行java文件,前提是需要配置好jdk的环境,后才可以运行 1、新建一个java文件,在里面写下需要运行的代码,例如: public class Hello{ public static void main(String[] args){ System....
  • 关于idea运行项目时突然java文件报错

    千次阅读 2015-07-23 09:32:29
    1、问题描述:以前项目一直运行的没问题,当我复制java文件到项目里后,运行项目时java文件会出现错误,如图: 其实java文件本身是没有问题的,但是报错了。ps:出现这个问题的原因就是编码的问题 2,解决方法...
  • java命令行编译运行多个java文件

    万次阅读 2016-06-11 23:02:30
    一....2. 有两个java类,A.java和B.java,都在同一个目录下 二.源码: A.java package com.abc; public class A { public static void test() { System.out.println("A:test()"); } } B
  • 怎么用命令行运行.java文件

    千次阅读 2018-12-13 12:07:57
    第一步 假如在e盘里有个文件夹名为Java,在Java...转到HelloWorld.java文件所在的文件夹。 (1)文件在E盘,首先输入 e: 回车。 (2)输入cd Java 进入Java文件夹。 (3)输入javac HelloWorld.java 然后回车...
  • 创建工程后,运行提示 Eclipse Error: Could not find or load main class [duplicate] ...一个java文件里面写多个class的话,这里面最多有一个public的。 而且.java的名称和public 类得名称要一致 ...
  • 我们有时就想编写单个简单的java文件,如果用类似eclipse那样的IDE就显得有些“杀鸡用牛刀”,大材小用了,我们就只想有一个能具有代码高亮、自动补全、能编译运行、甚至调试的轻量级编辑器(而不是IDE),这时...
  • 有两个java类,A.java和B.java,都在同一个目录下二.源码:A.javapackage com.abc; public class A { public static void test() { System.out.println("A:test()"); } }B.javaimport com.abc.A; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,755,199
精华内容 702,079
关键字:

java文件运行

java 订阅