我需要在BlackBerry应用程序中从classpath读取资源文件.我的项目的目录结构很常见:在src目录下有2个子目录,一个表示源程序包root,另一个表示资源根目录.
当我尝试从类路径中读取任何资源时,Class.getResourceAsStream方法会返回null
InputStream rStream = null;
String path = "/res/default_config.xml";
try {
rStream = getClass().getResourceAsStream(path);
} finally {
try {
if (rStream != null) {
byte[] data = IOUtilities.streamToBytes(rStream);
System.out.println(new String(data));
rStream.close();
}
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)
我该如何正确读取classpath资源?
我在命令提示符下运行java程序.我在PATH系统变量中设置了"C:\ j2sdk1.4.2_09\bin".然后我就可以编译并运行该程序了.但是因为我需要设置mysql-connector我在"C:\"中设置了它mysql-connector-java-5.1.10\mysql-connector-java-5.1.5-bin.jar"CLASSPATH变量,但现在我能够编译程序,因为我运行程序,我得到了"线程主java.lang中的异常.NoClassFoundDefError".这怎么样?任何人都可以详细说明这个吗?
由于像servlet.jar这样的jar通常不会自己下载,而是成为tomcat/lib文件夹的一部分,我应该在类路径中添加一个条目吗?这是常见的做法吗?
我用的是Ubuntu.
一个java程序正在运行,它有无限循环。现在,当程序运行时,我删除了该程序的类文件,会发生什么?程序会照原样继续还是会停止..?
我想在下面的目录中添加所有jar文件,但我得到了
线程"main"中的异常java.lang.NoClassDefFoundError:twitter4j/TwitterException错误.
我确信.jar文件中有TwitterException类.我的classpath语法中是否有任何错误?
mahmut@ubuntu:~/Desktop/Java/TwitterDeneme/bin$ java -classpath "~/twitter4j-2.2.6/lib/*.jar:." GetHashtag
Exception in thread "main" java.lang.NoClassDefFoundError: twitter4j/TwitterException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
at java.lang.Class.getMethod0(Class.java:2685)
at java.lang.Class.getMethod(Class.java:1620)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:488)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:480)
Caused by: java.lang.ClassNotFoundException: twitter4j.TwitterException
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:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 6 more
Run Code Online (Sandbox Code Playgroud)
我正在使用ubuntu和jdk 1.7.我在Windows中尝试了相同的命令,它完美无缺.有什么特别的事情要做与Ubuntu OS有关吗?
我正在使用Eclipse开发Java项目,并使用Ant作为构建工具.当我从命令行运行"ant all"时,我的项目构建没有任何错误,但是在Eclipse上我得到了很多编译错误.
所以我想我会将Ant的Classpath复制到Eclipse Project的Build Path中.
是否有Ant任务/命令来显示?就像"蚂蚁只是告诉我你的组装路径"还是什么?
我刚刚在控制台中编译了一个java程序.现在我想运行它.我需要postgresql和mysql的jdbc驱动程序.因此我需要包括相应的罐子.
我做了以下
java -Xmx512m -cp ".;/path/to/sql/jars" main.Main rc
Run Code Online (Sandbox Code Playgroud)
这样做时,我得到了以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: main/Main
Caused by: java.lang.ClassNotFoundException: main.Main
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: main.Main. Program will exit.
Run Code Online (Sandbox Code Playgroud)
忽略这样的classpath选项时
java -Xmx512m main.Main rc
Run Code Online (Sandbox Code Playgroud)
我得到了以下错误
java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at database.PostgresQL.getConnection(Unknown Source)
at database.PostgresQL.loadIndexFromDatabase(Unknown Source)
at main.Main.readDataFromDatabase(Unknown Source)
at main.Main.main(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我目前正在学习Java并使用我的命令提示符作为编译器.但每次我执行java命令后跟我的测试类"Hello",我得到以下错误消息:
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: hello/Hello)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:792)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
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:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Run Code Online (Sandbox Code Playgroud)
现在我检查了我的"CLASSPATH"环境变量,它是正确的,如下所示:.; C:\ Program Files\Java\jdk1.7.0_25\bin; 我甚至试过删除.从CLASSPATH开始,但它没有做任何不同的事情.现在我的javac命令可以通过创建.java类的.class版本来正常工作.但我真的无法让它实际执行java命令.
我的类的名字是Hello,所以我输入了javac Hello.java来将我的文件编译为类文件并且它有效.但是当我输入:java Hello是我收到上述错误消息的时候.我已经在我创建的NetBeans IDE上测试了该程序,它完美无缺,没有任何错误.
有什么可能会阻止我执行我的java命令来运行.class文件?
我正在开发一个独立应用程序的应用程序,并将其打包为jar文件(这是lika a OSGi Plugin)并将部署它jar into JBoss.
当我在我的日食中运行我的应用程序时,应用程序工作正常.在Jboss它抛出错误.
java.lang.ClassNotFoundException: org.w3c.dom.Node.
如果我添加rt.jar到WEB-INF/lib文件夹并部署到Jboss.那个错误不再被抛出.但我有一个新的例外,甚至我添加jsse.jar到lib ,但无法解决的错误.
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a
secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption.
Error: "class configured for SSLContext: sun.security.ssl.SSLContextImpl$TLS10Context
not a SSLContext".
......
Caused by: java.security.NoSuchAlgorithmException: class configured for
SSLContext: sun.security.ssl.SSLContextImpl$TLS10Context not a SSLContext
06:10:53,484 ERROR [stderr] (default-short-running-threads-threads - 26) at
sun.security.jca.GetInstance.checkSuperClass(GetInstance.java:258)
06:10:53,484 ERROR [stderr] (default-short-running-threads-threads - 26) at
sun.security.jca.GetInstance.getInstance(GetInstance.java:237)
06:10:53,484 ERROR …Run Code Online (Sandbox Code Playgroud) 我想在我的CLASSPATH中一次引用几个JAR.我可以用星号吗?
我查看了本网站上的其他几个答案,试图了解为什么会发生这种情况,但我不明白我做错了什么。
我正在尝试开始使用 iText 和 .jar 文件。我将 iText .jar 文件下载并解压缩到桌面上的一个文件夹中:Desktop\Java\itext-5.4.4\"jar files here"
然后我去了以下网站:
http://tutorials.jenkov.com/java-itext/getting-started.html
并将代码复制到记事本中。它看起来像这样:
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
/**
*/
public class HelloWorldExample {
public static void main(String[] args) {
Document document = new Document();
try {
PdfWriter.getInstance(document,
new FileOutputStream("HelloWorld.pdf"));
document.open();
document.add(new Paragraph("A Hello World PDF
document."));
document.close(); // no need to close
PDFwriter?
} catch (DocumentException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我将桌面上的文件保存为 HelloWorldExample.java
然后我使用以下命令编译我的代码: …
我在环境中正确插入 java_home 并在 cmd 中测试它。我正在使用代理连接到互联网,并且可以下载 react-native 包。adb 设备在 cmd 上正常运行,但是在运行“react-native run-android”命令时,我给出以下错误:
D:\amoz\react-native\1\pro\test>react-native run-android
Scanning folders for symlinks in D:\amoz\react-
native\1\pro\test\node_modules (8
7ms)
Starting JS server...
Building and installing the app on the device (cd android && gradlew.bat
install
Debug)...
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by
org.gradle.internal.reflect.JavaMethod (fi
le:/C:/Users/01/.gradle/wrapper/dists/gradle-3.5.1-
all/42vjebfdws9pjts3l4bouoq0p
/gradle-3.5.1/lib/gradle-base-services-3.5.1.jar) to method
java.lang.ClassLoade
r.getPackages()
WARNING: Please consider reporting this to the maintainers of
org.gradle.interna
l.reflect.JavaMethod
WARNING: Use --illegal-access=warn to enable warnings of further …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用我的项目中调用的 jar PasswordHash.jar。我正在使用sbt,所以我把罐子放进去lib/。现在它在类路径中,但我不知道这意味着什么。
我试过了:
import PasswordHashimport PasswordHash.jarimport com.PasswordHashimport com.PasswordHash.jarimport org.PasswordHashimport org.PasswordHash.jarimport java.PasswordHashimport java.PasswordHash.jarimport jar.PasswordHash该 jar 是从一个没有package声明的 Java 文件构建的。
编辑:
斯卡拉文件:
~/FileShare/shared/src/main/scala/com/michael/fileshare/shared/Collatz.scala
package com.michael.fileshare.shared
import com.michael.fileshare.shared.PasswordHash
Run Code Online (Sandbox Code Playgroud)
Java文件:
~/FileShare/shared/src/main/java/com/michael/fileshare/shared/PasswordHash.java
package com.michael.fileshare.shared
Run Code Online (Sandbox Code Playgroud)
错误信息:
object PasswordHash is not a member of package com.michael.fileshare.shared
Scala 文件尝试导入 Java 文件失败,但另一个 Scala 文件成功导入此 Scala 文件。
如果有帮助的话,我会关注 Ubuntu。
classpath ×13
java ×10
jar ×4
ubuntu ×2
android ×1
ant ×1
blackberry ×1
build.gradle ×1
delete-file ×1
itext ×1
jboss7.x ×1
react-native ×1
resources ×1
rim-4.2 ×1
scala ×1
tomcat ×1