标签: classnotfound

使用Java Reflection,java.lang.ClassNotFoundException动态创建类

我想在java中使用反射,我想做第三个类将从控制台读取类的名称作为String.在读取类的名称后,它将自动动态地(!)生成该类并调用其writeout方法.如果未从输入中读取该类,则不会对其进行初始化.

我写了那些代码,但我总是把它拿到" java.lang.ClassNotFoundException",我不知道如何修复它.谁能帮我?

class class3 {  
   public Object dynamicsinif(String className, String fieldName, String value) throws Exception
   {    
      Class cls = Class.forName(className,true,null);    
      Object obj = cls.newInstance();    
      Field fld = cls.getField(fieldName);    
      fld.set(obj, value);    
      return obj;    
  }

  public void writeout3()    
  {    
      System.out.println("class3");    
  }    
}

public class Main {        
    public static void main(String[] args) throws Exception    
    {            
           System.out.println("enter the class name : ");    
       BufferedReader reader= new BufferedReader(new InputStreamReader(System.in));
           String line=reader.readLine();    
           String x="Text1";    
           try{    
              class3 trycls=new class3();    
              Object gelen=trycls.dynamicsinif(line, x, "rubby");    
              Class …
Run Code Online (Sandbox Code Playgroud)

java reflection classnotfound

3
推荐指数
1
解决办法
2万
查看次数

Tomcat中的自定义MBean - 在创建InitialContext时找不到javaURLContextFactory

我编写了一个在Tomcat 6中部署的自定义MBean.其任务之一是查询数据库值.我这样做是通过使用JNDI加载数据库资源 - 资源是在Tomcat的server.xml中定义的.

问题是,当我创建javax.naming.InitialContext它的实例时会抛出一个ClassNotFoundException无法找到的实例org.apache.naming.java.javaURLContextFactory.该类catalina.jar由公共类加载器加载并加载.包含我的MBean代码的jar由共享类加载器加载.

关于如何解决这个问题的任何想法?

要注意:我的MBean是由我在其中定义的ContextListener加载的tomcat/conf/web.xml.我也在一个webapp中定义它web.xml没有任何区别.我无法真正移动我的jar以便由公共类加载器加载,因为它依赖于共享类加载器加载的类.

提前致谢,

java tomcat jmx classloader classnotfound

3
推荐指数
1
解决办法
8180
查看次数

使用广播接收器作为具有清单注册的活动内部类

我有一个活动,我有一个广播接收器(br).如果我以编程方式注册br,则接收器已注册并且工作正常.

但是,如果我在清单中注册接收器,我会收到java.lang.ClassNotFoundException.

<receiver             
        android:name=".MyActivity.UpdateUIClass"
        android:exported="false"
        >
        <intent-filter>
            <action android:name="com.mydomain.main.FILTER_UPDATE_UI" />
            <category android:name="android.intent.category.DEFAULT" />                
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

请指教

android exception broadcastreceiver classnotfound

3
推荐指数
1
解决办法
3026
查看次数

PHP Composer Autoload 出现类未找到错误

错误是:

\n\n
Fatal error: Uncaught Error: Class \'Championsweb\\Model\\VO\\CompeticionVO\'\nnot found in E:\\Drive\\Proyectos\\ChampionsEclipse\\public\\CrearCompeticion.php\non line 4\n
Run Code Online (Sandbox Code Playgroud)\n\n

项目结构:

\n\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80config\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80public\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80css\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80js\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80vendor\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80src\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Championsweb\n\xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Controller\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80Model\n\xe2\x94\x82           \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80VO\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80templates\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80tests\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80vendor\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80composer\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80views\n
Run Code Online (Sandbox Code Playgroud)\n\n

CrearCompeticion.php(位于 public/ 中)如下所示:

\n\n
<?php\n\nif (isset($_POST) && sizeof($_POST) > 0) {\n    $competicionVO = new \\Championsweb\\Model\\VO\\CompeticionVO(\n        $_POST[\'nombre\'],\n        $_POST[\'anho\']\n    );\n    $adminactions = new \\Championsweb\\Controller\\AdminActions();\n    $adminactions->crearCompeticion($competicionVO);\n}\n\nrequire \'../views/CrearCompeticion.view.php\';\n
Run Code Online (Sandbox Code Playgroud)\n\n

CompeticionVO.php(位于 src/Championsweb/Model/VO 中)如下所示:

\n\n
<?php\nnamespace Championsweb\\Model\\VO;\n\nclass CompeticionVO {\n    public $id;\n    public $nombre;\n    public $anho;\n    public $idGanador;\n\n    public function __construct($nombre, $anho) {\n        $this->nombre = $nombre;\n        $this->anho = $anho;\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n …

php autoload classnotfound composer-php

3
推荐指数
1
解决办法
1万
查看次数

PHP 命名空间和 use 即使我已经使用 use 指定了类,也未找到致命错误类

我在 PHP 中的名称空间方面遇到了麻烦。例如我有一个这样的文件

namespace App\Models\Abstracts;
abstract class Country{}
Run Code Online (Sandbox Code Playgroud)

然后是另一个像这样的文件

namespace App\Models;

use App\Models\Abstracts\Country;

class City extends Country{}
Run Code Online (Sandbox Code Playgroud)

我总是得到

致命错误:未捕获错误:类...未在...中找到

谁能帮我?多谢。

php namespaces fatal-error classnotfound

3
推荐指数
1
解决办法
9629
查看次数

Servlet 给出错误 java.lang.NoClassDefFoundError

我在我的应用程序的 servlet 中使用以下代码

java.awt.Image awtImg = java.awt.Toolkit.getDefaultToolkit().createImage(str1);

当我运行应用程序并调用 servlet 时,出现以下错误

java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:169)
java.awt.Toolkit$2.run(Toolkit.java:834)
java.security.AccessController.doPrivileged(Native Method)
java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)
noticeandreports.pdf.appendFiles.PdfFunctionsClass.addSealSpace(PdfFunctionsClass.java:198)
OJ.NoticesandReports.generate_151_OJNotice.execute(generate_151_OJNotice.java:768)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Run Code Online (Sandbox Code Playgroud)

我已在具有 Java 版本 JDK 1.6.20 的 Linux 计算机上托管该应用程序。

可能是什么原因导致了这个问题...

noticeandreports.pdf.appendFiles.PdfFunctionsClass是编写代码的类,OJ.NoticesandReports.generate_151_OJNotice是调用上述类中方法的 servlet...

java servlets classnotfound

2
推荐指数
1
解决办法
2万
查看次数

扩展时找不到类

我有一个class MyClass工作正常。$obj = new MyClass()当我使用Works 就像魅力一样创建实例时 。问题是,如果我扩展它class MyClass extends MyExtends,它会给我一个错误:class MyClass not found

因为细节决定成败,以下是一些细节:

1) MyClass 实例在同一文件中创建(称为 MyClass.php)。

$obj = new MyClass();
class MyClass extends MyExtends{
}
Run Code Online (Sandbox Code Playgroud)

obj2)使用ajax调用创建

if($_POST['myAjaxFlag']){
    $obj = new MyClass();
} 
Run Code Online (Sandbox Code Playgroud)

3)ajax调用返回成功,但是如果我打印返回的数据,我会收到该类未找到错误php消息。

php extends classnotfound

2
推荐指数
1
解决办法
2077
查看次数

Java Class.forName方法java.lang.ClassNotFoundException;

我找到了人们拥有的其他线程并解决了这个错误; 但是,所有这些都没有使用完全限定的类路径.我似乎无法使Class.forName工作,我使用完全限定的路径.

我已经测试了从CLI编译并使用ItelliJ Idea.两者都失败了同样的错误.

代码(在测试目录中):

package test;
public class Test {
  public static void main(String[] args) {
    Class cls = Class.forName("java.util.ArrayList");
  }
}
Run Code Online (Sandbox Code Playgroud)

错误:

抛出java.lang.ClassNotFoundException; 必须被抓住或宣布被抛出

上面的例子不起作用.提前致谢!

java class classnotfound classnotfoundexception

2
推荐指数
1
解决办法
1万
查看次数

将播放服务更新到6.5.87后找不到com.google.android.gms类

在将sdk工具和google play服务更新到6.5.87之后,我现在在我的android项目(android studio)中找不到com.google.android.gms.我怎么能解决这个问题?

现在出现的错误之一是:错误:无法找到符号类ActivityRecognitionClient

依赖{

compile 'com.google.android.gms:play-services:6.5.87'
Run Code Online (Sandbox Code Playgroud)

}

android classnotfound google-play-services android-studio

2
推荐指数
1
解决办法
2507
查看次数

有一个好主意有一个BaseController并使所有控制器扩展该类?

我需要所有控制器中的一些常见行为.有一个好主意有一个BaseController并使所有控制器扩展该类?如果是这样,避免Fatal error: Class 'BaseController' not found错误的正确方法是什么.

php zend-framework classnotfound

1
推荐指数
1
解决办法
821
查看次数