java编译成功,运行找不到或无法加载主类 。

问题描述:
> 在notepad++下写入Java代码,在命令行可以编译,但是运行的时候显示找不到或无法加载主类。

环境变量没问题!java,javac,java -version都可行!

源代码:


class a{
    public static void main(String[] args){
        System.out.print('a');
    }
}

问题截图:

1.notepad++运行截图


2. notepad++生成.class 文件的截图

3.命令行编译却不能运行的截图

5个回答

原因:javac产生的.class文件不在classpath目录下,修改CLASSPATH,重新执行

sexyluna
性感的小君君 谢谢回答,无故被封号一只没能回复。
12 个月之前 回复

https://zhidao.baidu.com/question/523320925.html 希望能帮到你
主要是你看看classpath 配置正确吗?

sexyluna
性感的小君君 谢谢回答,无故被封号一只没能回复。
12 个月之前 回复

把类声明为Public试下

可能你的路径下是被文件夹包含的,你的路径只是子文件,所以会找不到主类,尝试检查路径需要的话用文件名后加" \ " 再加上子
文件的文件名 就会找到对应的路径了

1.重新配置Java参数;2.将包注释掉

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
编写的java程序编译通过但是运行时显示(错误:找不到或无法加载主类 HelloWorld )
编写的java(HelloWorld )程序编译通过但是运行时显示(错误:找不到或无法加载主类 HelloWorld )![图片说明](https://img-ask.csdn.net/upload/201502/20/142![图片说明](https://img-ask.csdn.net/upload/201502/20/1424401203_575734.png)![图片说明](https://img-ask.csdn.net/upload/201502/20/1424401178_104611.png)4401149_109648.png)
java找不到或无法加载主类
我的环境变量设置没问题,成功编译了.java生成了.class文件,但是用命令符进行运行程序的时候出现找不到或无法加载主类。![图片说明](https://img-ask.csdn.net/upload/201901/31/1548936079_292663.png)编写的程序里面也没有 package,萌新请教
JAVA编译通过,运行却提示找不到或无法加载主类
CLASSPATH : ,;C:\Program Files (x86)\Java\jdk1.8.0_144\jre\lib\dt.jar;C:\Program Files (x86)\Java\jdk1.8.0_144\lib\tools.jar JAVA_HOME: C:\Program Files (x86)\Java\jdk1.8.0_144 PATH: C:\Program Files (x86)\Java\jdk1.8.0_144\bin 请大神帮我找一下哪里出问题了 JAVA初学者实在找不出来 ![图片](https://img-ask.csdn.net/upload/201708/10/1502378573_221664.png)![图片](https://img-ask.csdn.net/upload/201708/10/1502378579_257037.png)
java文件问题]错误:找不到或无法加载主类 Hello.java
编写简单的Hello.java程序,在cmd命令行下用javac Hello.java命令编译没有问题,可以生成Hello.class文件。但输入java Hello命令后(文件目录和命令目录一致),提示错误:“找不到或无法加载主类 Hello.java”。 安装配置如下 JAVA_HOME D:\Java\jdk1.8.0_45 path .;%JAVA_HOME%\bin; classpath .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 程序如下 名称 Hello.class public class Hello { public static void main(String args[]) { System.out.println("你好,很高兴学习Java"); } }
java运行class文件时,显示的是找不到或无法加载主类是怎么回事?一直不知道问题出在哪,求帮助
用命令提示符运行java文件时,javac编译成功,生成一个class文件,但是java运行class文件时,显示找不到或无法加载主类 JAVA__HOME C:\Program Files\Java\jdk1.8.0_101 CLASSPATH .;C:/Program Files/Java/jdk1.8.0_101/lib/dt.jar;C:/Program Files/Java/jdk1.8.0_101/lib/tools.jar; Path ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; java文件就直接存在D盘根目录里了 ![图片说明](https://img-ask.csdn.net/upload/201610/17/1476698934_97011.jpg)
eclipse运行程序时 “错误: 找不到或无法加载主类 Dfile.encoding=UTF-8”
今天在新机器上安装eclipse,在编译项目的时候,报错 “错误: 找不到或无法加载主类 Dfile.encoding=UTF-8” 网上查找不到主类的解决方案都是关于java环境变量的,不过环境变量我弄过很多次了,而且在eclipse里运行hello world也是可以正常输出的 好迷 求指教 (ps:工程是maven项目,项目内容来自于他人,我也不是很清楚代码结构之类,不过肯定是能跑的)
报错 找不到或无法加载主类
我用cmd运行JAVA代码时候,已经编译出了.class文件,但是最后一步报错找不到或无法加载主类。请大神给我看一下怎么回事(我的环境变量没错,已经测试成功了)![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/13.gif)![图片](https://img-ask.csdn.net/upload/201710/16/1508165865_273127.jpg)
java 找不到或无法加载主类
![图片说明](https://img-ask.csdn.net/upload/201607/21/1469079370_336071.png) ![图片说明](https://img-ask.csdn.net/upload/201607/21/1469079382_116823.png) ![图片说明](https://img-ask.csdn.net/upload/201607/21/1469079393_78817.png) 上面三幅图是我写的那两个文件A1跟B1,还有我文件的目录,还有报错情况 那个A1编译都可以通过,就是运行的时候出了问题,但是我那个文件夹里面的其他程序都可以正常运行,我上网查了一下,都说是系统变量的路径问题,我按着他们的试了一下还是只可以编译不可以运行A1,就是会报那样的错误,谁帮我看看是哪里出问题了? 再附上我的路径 classpath .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;C:\java JAVA_HOME D:\Program Files\Java\jdk1.8.0_74 Path D:\Program Files\Java\jdk1.8.0_74\bin;
命令行java命令找不到或无法加载主类
小弟最近在学算法第4版,但无论是导入jar包还是现行编译Java文件,使用java命令时 都报错:![图片说明](https://img-ask.csdn.net/upload/201704/30/1493523392_421172.png) 我上网搜说是环境变量问题,可我反复检查环境变量都毫无问题,请问大神们谁能帮我解决一下,谢谢了!! 我的环境变量: JAVA_HOME:D:\mysoft\Java\jdk1.8.0_102 Path:D:\mysoft\Java\jdk1.8.0_102\bin;%JAVA_HOME\jre\bin;F:\Lectures\java\Lectures;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;F:\Lectures\java\Lectures\algs4\algs4.jar
cmd无法执行JAVA程序,求教。 提示 错误: 找不到或无法加载主类
JDK环境我觉得没问题,后面补图。 Eclipse下能正确执行程序。 cmd能编译文件并且也生成了**.class。 就是执行不了,求教 ![图片说明](https://img-ask.csdn.net/upload/201709/09/1504925193_99164.jpg) ![图片说明](https://img-ask.csdn.net/upload/201709/09/1504925214_713455.jpg) ![图片说明](https://img-ask.csdn.net/upload/201709/09/1504925223_768039.jpg) 下面是环境配置 CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar; JAVA_HOME G:\JAVA\A\bin; (JDK安装在G:\JAVA\A) Path ![图片说明](https://img-ask.csdn.net/upload/201709/09/1504925349_685855.jpg) cmd下 ![图片说明](https://img-ask.csdn.net/upload/201709/09/1504925421_647079.jpg) ![图片说明](https://img-ask.csdn.net/upload/201709/09/1504925438_267249.jpg) ![图片说明](https://img-ask.csdn.net/upload/201709/09/1504925451_38306.jpg) 问题到底出在哪里?求教,总不能一直搁置着吧。没币赏真心想懂。
java中命令行无法运行带包名的class
我写了一个a.java,在a.java的开头我已经加上了package b; javac编译成功 然后我在这个工作目录下运行 java b.a 却出现找不到或无法加载类的错误 但是,如果我把package b;去掉,再编译,重新运行 java a 能够成功; 这是什么
【首次提问】java 无法找到主类 的问题
classpath:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar 在A目录和B目录写了两个java文件 A:E:\DeskTop\学习\study\demo Test.java B:E:\DeskTop\学习\study\demo\test test.java 现在情况是, (1)当A和B中的两个文件都编译成功后 (2)A中的Test.java执行成功,B中的test.java执行提示:找不到主类 test (3)删除A中的Test.java和Test.clas文件后,B中的test.java 又执行成功!? 以下截图是A目录中删除Test.java和Test.class文件 之前和之后的 test编译与运行结果 ![图片说明](https://img-ask.csdn.net/upload/201510/30/1446170488_218003.png) 求解,B中的java文件执行,怎么和A有关系呢?不是执行时加载类首先加载当前目录吗???
关于用命令行编写Java程序的问题
一段Java代码我用eclipes能轻松编译也有结果出来,但是我用记事本写 用命令行执行的时候就有问题了 javac能编译出来 但是接下来Java 主类名就显示 找不到或无法加载主类 这是什么情况?
think in java一书中提到的类加载
RT 14章里写到:“所有的类都是在其第一次使用时,动态加载到JVM中的…………因此,JAVA程序在它开始运行之前并未完全被加载,其各个部分是在必需时才加载的” 这句话是单单对于反射而言,还是对于所有实例化类的方式而言呢? 也就是说对于所有的实例化类的方式而言,JAVA的类加载都是在运行时由JVM完成的而不是编译时完成的吗?
【java】这个连续的调用在编译时候是没有错误的,但是运行错误
``` public class ATypeName { public static void main(String[] args) { ATypeName a = new ATypeName(); a.b(); } public void b() { System.out.print("1"); ATypeName z = new ATypeName(); z.c(); } public void c() { System.out.print("1"); ATypeName x = new ATypeName(); x.b(); } } ``` 部分错误报告(来自eclipse) ``` Exception in thread "main" java.lang.StackOverflowError at sun.nio.cs.ext.DoubleByte$Encoder.encodeLoop(Unknown Source) at java.nio.charset.CharsetEncoder.encode(Unknown Source) at sun.nio.cs.StreamEncoder.implWrite(Unknown Source) at sun.nio.cs.StreamEncoder.write(Unknown Source) at java.io.OutputStreamWriter.write(Unknown Source) at java.io.BufferedWriter.flushBuffer(Unknown Source) at java.io.PrintStream.write(Unknown Source) at java.io.PrintStream.print(Unknown Source) at xyz.wuda16.u2.ATypeName.c(ATypeName.java:18) at xyz.wuda16.u2.ATypeName.b(ATypeName.java:14) at xyz.wuda16.u2.ATypeName.c(ATypeName.java:20) at xyz.wuda16.u2.ATypeName.b(ATypeName.java:14) at xyz.wuda16.u2.ATypeName.c(ATypeName.java:20) ``` 来自javac编译和java运行 ``` 找不到或无法加载主类 ``` 大神求解啊,难道是我的错误太明显,骗不过编译器吗。
JAVA6动态编译的问题
在使用JAVA6动态编译时遇到的一个问题,动态编译方法已经写就。通过main方法调用的动态编译时,编译通过,并可以使用编译生成的类。但是,在Tomcat下调用同样的方法进行动态编译时,编译无法通过。其原因是找不到对应的包。因为动态生成的类中import了其他的一些类。我猜是tomcat的某些加载机制影响了动态编译过程,导致动态编译找不引用的类。请问各位,是否有方法解决? [b]问题补充:[/b] 补充代码: 参数 files是一个JavaFile类型的数组,其中包含了Java类的源文件 [code="java"] public static Class[] complie(JavaFile[] files) throws Exception { JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); //ClassLoader clsLoader=ToolProvider.getSystemToolClassLoader(); DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>(); MemoryFileManager filemanage = new MemoryFileManager(compiler .getStandardFileManager(diagnostics, null, null)); //MemoryFileManager filemanage = new MemoryFileManager(compiler //.getStandardFileManager(diagnostics, null, null)); //Log.info("Location\t"+filemanage.) ArrayList<JavaFileObject> clsFiles=new ArrayList<JavaFileObject>(); for(JavaFile file:files) { JavaFileObject clsfile = MemoryFileManager.makeSource(file .getFileName(), file.toString()); clsFiles.add(clsfile); Log.info("compile:"+file.getFileName()+"\t"+clsfile.getName()+"\t"+clsfile.getKind()+"\t"+clsfile.toUri()); } Iterable<? extends JavaFileObject> compilationUnits=clsFiles; JavaCompiler.CompilationTask task = compiler.getTask(null, filemanage, diagnostics, null, options.getClassNames(), compilationUnits); boolean success=false; try { success = task.call(); } catch (Exception e) { e.printStackTrace(); } Class[] clazz=new Class[files.length]; if(success) { for(int i=0;i<clazz.length;i++) { clazz[i] = filemanage.getClassLoader(null).loadClass(files[i].getFileName()); } } else { for (Diagnostic diagnostic : diagnostics.getDiagnostics()) System.out.printf( "Code: %s%n" + "Kind: %s%n" + "Position: %s%n" + "Start Position: %s%n" + "End Position: %s%n" + "Source: %s%n" + "Message: %s%n", diagnostic.getCode(), diagnostic.getKind(), diagnostic.getPosition(), diagnostic.getStartPosition(), diagnostic.getEndPosition(), diagnostic.getSource(), diagnostic.getMessage(null)); } filemanage.close(); return clazz; } [/code] [b]问题补充:[/b] TOMCAT下的编译诊断信息: [code="java"] Code: compiler.err.doesnt.exist Kind: ERROR Position: 0 Start Position: 0 End Position: 0 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:1: 软件包 com.youngor.dboperator 不存在 Code: compiler.err.doesnt.exist Kind: ERROR Position: 104 Start Position: 78 End Position: 112 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:4: 软件包 com.youngor.webcore.entity 不存在 Code: compiler.err.doesnt.exist Kind: ERROR Position: 146 Start Position: 124 End Position: 156 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:6: 软件包 com.youngor.dboperator 不存在 Code: compiler.err.doesnt.exist Kind: ERROR Position: 202 Start Position: 180 End Position: 212 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:9: 软件包 com.youngor.dboperator 不存在 Code: compiler.err.doesnt.exist Kind: ERROR Position: 239 Start Position: 213 End Position: 251 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:9: 软件包 com.youngor.webcore.entity 不存在 Code: compiler.err.doesnt.exist Kind: ERROR Position: 0 Start Position: 0 End Position: 0 Source: mfm:///RuntimeEntitySysPosition.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysPosition.java:1: 软件包 com.youngor.dboperator 不存在 Code: compiler.err.doesnt.exist Kind: ERROR Position: 108 Start Position: 82 End Position: 120 Source: mfm:///RuntimeEntitySysPosition.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysPosition.java:4: 软件包 com.youngor.webcore.entity 不存在 Code: compiler.err.cant.resolve.location Kind: ERROR Position: 328 Start Position: 328 End Position: 337 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:14: 找不到符号 符号: 类 EntitySet 位置: 类 RuntimeEntitySysUser Code: compiler.err.cant.resolve.location Kind: ERROR Position: 383 Start Position: 383 End Position: 392 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:14: 找不到符号 符号: 变量 DefaultDB 位置: 类 RuntimeEntitySysUser Code: compiler.err.doesnt.exist Kind: ERROR Position: 436 Start Position: 410 End Position: 448 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:14: 软件包 com.youngor.webcore.entity 不存在 Code: compiler.err.cant.resolve.location Kind: ERROR Position: 619 Start Position: 619 End Position: -1 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:16: 找不到符号 符号: 变量 super 位置: 类 RuntimeEntitySysUser Code: compiler.err.cant.resolve.location Kind: ERROR Position: 667 Start Position: 667 End Position: -1 Source: mfm:///RuntimeEntitySysUser.java from JavaSourceFromString Message: mfm:///RuntimeEntitySysUser.java:18: 找不到符号 符号: 变量 super 位置: 类 RuntimeEntitySysUser [/code] Tomcat输出的异常信息: [code="java"] java.lang.NullPointerException at com.youngor.dboperator.EntityUtil.getInstance(EntityUtil.java:36) at com.youngor.dboperator.Entity.getInstance(Entity.java:103) at com.youngor.dboperator.SQLServer2000Adaptor.getEntitySetBySQL(SQLServer2000Adaptor.java:283) at com.youngor.dboperator.SQLServer2000Adaptor.getEntitySet(SQLServer2000Adaptor.java:220) at com.youngor.dboperator.InnerDBOperator.getEntitySet(InnerDBOperator.java:451) at com.youngor.dboperator.DBOperator.getEntitySet(DBOperator.java:350) at com.youngor.dboperator.DefaultDB.getEntitySet(DefaultDB.java:147) at com.youngor.dboperator.DefaultDB.getEntitySet(DefaultDB.java:213) at com.youngor.webcore.entity.SysUser.getEntitySet(SysUser.java:501) at com.youngor.webcore.entity.SysUser.doTest(SysUser.java:610) at org.apache.jsp.login_jsp._jspService(login_jsp.java:66) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509) at java.lang.Thread.run(Thread.java:619) java.lang.NullPointerException at com.youngor.dboperator.SQLServer2000Adaptor.getEntitySetBySQL(SQLServer2000Adaptor.java:284) at com.youngor.dboperator.SQLServer2000Adaptor.getEntitySet(SQLServer2000Adaptor.java:220) at com.youngor.dboperator.InnerDBOperator.getEntitySet(InnerDBOperator.java:451) at com.youngor.dboperator.DBOperator.getEntitySet(DBOperator.java:350) at com.youngor.dboperator.DefaultDB.getEntitySet(DefaultDB.java:147) at com.youngor.dboperator.DefaultDB.getEntitySet(DefaultDB.java:213) at com.youngor.webcore.entity.SysUser.getEntitySet(SysUser.java:501) at com.youngor.webcore.entity.SysUser.doTest(SysUser.java:610) at org.apache.jsp.login_jsp._jspService(login_jsp.java:66) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:857) at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565) at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509) at java.lang.Thread.run(Thread.java:619) [/code] [b]问题补充:[/b] public static Class[] complie(JavaFile[] files) throws Exception 这个方法是用main(String[] args)方法测试成功。放到JSP页面中调用输错。错误信息已经在上面给出。 [b]问题补充:[/b] 把com.youngor.*之类的类文件,放到tomcat下的common或shared下对应的classes或lib下,应该就不会报这个异常 或许可以解决问题。但是这不太符合Web应用部署的常规做法,不知“lovewhzlq”是否还有其他可行方法,不吝赐教。 [b]问题补充:[/b] 问题基本解决,需要为编译过程指定编译的类路径; [code="java"] C:\myproject>javac -help 用法:javac <选项> <源文件> 其中,可能的选项包括: -g 生成所有调试信息 -g:none 不生成任何调试信息 -g:{lines,vars,source} 只生成某些调试信息 -nowarn 不生成任何警告 -verbose 输出有关编译器正在执行的操作的消息 -deprecation 输出使用已过时的 API 的源位置 -classpath <路径> 指定查找用户类文件的位置 -cp <路径> 指定查找用户类文件的位置 -sourcepath <路径> 指定查找输入源文件的位置 -bootclasspath <路径> 覆盖引导类文件的位置 -extdirs <目录> 覆盖安装的扩展目录的位置 -endorseddirs <目录> 覆盖签名的标准路径的位置 -d <目录> 指定存放生成的类文件的位置 -encoding <编码> 指定源文件使用的字符编码 -source <版本> 提供与指定版本的源兼容性 -target <版本> 生成特定 VM 版本的类文件 -version 版本信息 -help 输出标准选项的提要 -X 输出非标准选项的提要 -J<标志> 直接将 <标志> 传递给运行时系统 [/code] 修改部分代码如下: [code="java"] String cp=PathTool.get(AdvancedCompilerAPIDemo.class); Log.info(cp); int i=cp.indexOf("/WEB-INF/classes/"); cp=cp.substring(0, i+17); Log.info(cp); Iterable<String> options = Arrays.asList("-d", cp,"-cp",cp); // 编译选项,将编译产生的类文件放在当前目录下 CompilationTask task = compiler.getTask(null, fileManager, diagnostics, options, null, sourcefiles); [/code] 这里找到了WEb应用的classes目录并设置为编译输出目录和类路径。编译通过并可以使用了。
java 打印报表问题(编译报表时出错)
我设计好了报表放在sampleReportFile + ".jrxml",然后加载进来,再编译。如下代码 JasperDesign design = JRXmlLoader.load(sampleReportFile + ".jrxml"); //编译 JasperReport report = new JasperCompileManager().compileReport(design);//这句有异常 这两行代码放的一个单独的类中的main里能正常运行。 但是放到我的项目中就报异常,无法编译,抛出异常如下(myReport_1216356285140_165076.class这个文件是它自动创建的怎么找不到?但在单独类中的main中为什么行?)。 java.io.FileNotFoundException: D:\other-workspace\TestReport\myReport_1216356285140_165076.class (系统找不到指定的文件。) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(Unknown Source) at net.sf.jasperreports.engine.util.JRLoader.loadBytes(Unknown Source) at net.sf.jasperreports.engine.design.JRAbstractClassCompiler.compileUnits(Unknown Source) at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(Unknown Source) at net.sf.jasperreports.engine.design.JRDefaultCompiler.compileReport(Unknown Source) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(Unknown Source) at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(Unknown Source) at com.dsrcom.ecq.client.report.view.ReportColumnSet.printReport(ReportColumnSet.java:638) at com.dsrcom.ecq.client.report.view.ReportColumnSet$5.mouseUp(ReportColumnSet.java:417) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:137) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336) at org.eclipse.core.launcher.Main.basicRun(Main.java:280) at org.eclipse.core.launcher.Main.run(Main.java:977) at org.eclipse.core.launcher.Main.main(Main.java:952) 这个是怎么解决的呀!大神帮忙!
java.lang.NoClassDefFoundError
![图片说明](https://img-ask.csdn.net/upload/201705/03/1493780867_650176.png) linux下使用jedis,运行目录如上图,Main.java内容: ``` import redis.clients.jedis.exceptions.*; import redis.clients.jedis.*; import redis.clients.util.*; import org.apache.commons.pool2.*; import org.apache.commons.pool2.proxy.*; import org.apache.commons.pool2.impl.*; public class Main{ public static void main(String[] args){ Jedis jedis = new Jedis("127.0.0.1",6379); jedis.set("s2","123"); String result = jedis.get("s2"); System.out.println(result); jedis.close(); } } ``` 进入该目录下执行 javac -cp jedis-2.7.0.jar:commons-pool2-2.3.jar: Main.java 编译成功,然后运行 java Main报错: Exception in thread "main" java.lang.NoClassDefFoundError: redis/clients/jedis/Jedis at Main.main(Main.java:20) Caused by: java.lang.ClassNotFoundException: redis.clients.jedis.Jedis at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 1 more 编译成功了,但是运行时却找不到类?还是说编译其实也有问题,在Main.java中已经把两个外部jar包的所有类都import了。查了网上不少资料了但是还是没解决,平常都用IDE的,这次试试用javac然后就这样了。求解答,谢谢。
动态生成 .java 和 .class 用什么加载器去加载?
![图片说明](https://img-ask.csdn.net/upload/201710/24/1508829673_92315.jpg) 调用当前方法,动态生成java文件,然后对其编译产生class文件。 ![图片说明](https://img-ask.csdn.net/upload/201710/24/1508829691_671834.jpg) 第一个断点生成了java文件,第二个断点产生class文件,然后想将这个class文件加载到内存。 第一种方式,用了ClassLoader.getSystemClassLoader() 获取的类加载器。如果这两个文件在运行方法前存在,去loadClass会正常运行。但是如果是调用方法产生的,就会抛一个java.lang.ClassNotFoundException: com.proxy.uproxy.$Proxy0的异常。 第二种方式,用了URLClassLoader的类加载器。结果发现,不管这两个文件什么时候产生的,都会正常执行。 之后看了一下这两个类加载器的的内容,不清楚是不是这个URLClassLoader路径的问题。 ![图片说明](https://img-ask.csdn.net/upload/201710/24/1508830066_876360.jpg) ![图片说明](https://img-ask.csdn.net/upload/201710/24/1508830075_292144.jpg) 发现SystemClassLoader会包含URLClassLoader,此时URLClassLoader所指向的路径是lib包。而直接调用URLClassLoader指向的我们指定的路径。 1.为什么使用SystemClassLoader,URLClassLoader会指向lib包。 2.为什么使用SystemClassLoader去加载,会报ClassNotFoundException。 3.SystemClassLoader和URLClassLoader的关系? 4.动态生成 .java 和 .class 用什么加载器去加载?加载机制是什么样的?
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Android性能优化(4):UI渲染机制以及优化
文章目录1. 渲染机制分析1.1 渲染机制1.2 卡顿现象1.3 内存抖动2. 渲染优化方式2.1 过度绘制优化2.1.1 Show GPU overdraw2.1.2 Profile GPU Rendering2.2 卡顿优化2.2.1 SysTrace2.2.2 TraceView 在从Android 6.0源码的角度剖析View的绘制原理一文中,我们了解到View的绘制流程有三个步骤,即m...
微服务中的Kafka与Micronaut
今天,我们将通过Apache Kafka主题构建一些彼此异步通信的微服务。我们使用Micronaut框架,它为与Kafka集成提供专门的库。让我们简要介绍一下示例系统的体系结构。我们有四个微型服务:订单服务,行程服务,司机服务和乘客服务。这些应用程序的实现非常简单。它们都有内存存储,并连接到同一个Kafka实例。 我们系统的主要目标是为客户安排行程。订单服务应用程序还充当网关。它接收来自客户的请求...
致 Python 初学者们!
作者| 许向武 责编 | 屠敏 出品 | CSDN 博客 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 Python 这门编程语言,从2009年开始单一使用 Python 应对所有的开发工作,直至今...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置
Spring Boot默认内嵌的Tomcat为Servlet容器,关于Tomcat的所有属性都在ServerProperties配置类中。同时,也可以实现一些接口来自定义内嵌Servlet容器和内嵌Tomcat等的配置。 关于此配置,网络上有大量的资料,但都是基于SpringBoot1.5.x版本,并不适合当前最新版本。本文将带大家了解一下最新版本的使用。 ServerProperties的部分源...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
爬取薅羊毛网站百度云资源
这是疫情期间无聊做的爬虫, 去获取暂时用不上的教程 import threading import time import pandas as pd import requests import re from threading import Thread, Lock # import urllib.request as request # req=urllib.request.Requ...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
HTML5适合的情人节礼物有纪念日期功能
前言 利用HTML5,css,js实现爱心树 以及 纪念日期的功能 网页有播放音乐功能 以及打字倾诉感情的画面,非常适合情人节送给女朋友 具体的HTML代码 具体只要修改代码里面的男某某和女某某 文字段也可自行修改,还有代码下半部分的JS代码需要修改一下起始日期 注意月份为0~11月 也就是月份需要减一。 当然只有一部分HTML和JS代码不够运行的,文章最下面还附加了完整代码的下载地址 &lt;!...
相关热词 c# id读写器 c#俄罗斯方块源码 c# linq原理 c# 装箱有什么用 c#集合 复制 c# 一个字符串分组 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图
立即提问