Mac OS X 10.6上是否有默认的类路径?当我echo $CLASSPATH,没有任何东西会出现.在我看来.profile,我只看到PATH变量被设置.我的问题是我的servlet似乎无法找到一个合适的驱动程序来连接到mysql服务器.我使用Eclipse,用于Glassfish v3和MAMP用于MYSQL服务器.
我想尝试一下本文中的示例代码:Load Recovery.gov将数据授予CouchDB数据库.我熟悉Java语言,但我对Maven构建系统一无所知.
我已经设法通过运行'mvn package'来构建项目,但是在尝试运行它时我得到以下内容:
djm@surfer:~/source/sample-parse$ java -cp target/sample-parse-1.0-SNAPSHOT.jar com.discursive.sample.parse.LoadingGrants
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/HttpEntity
Caused by: java.lang.ClassNotFoundException: org.apache.http.HttpEntity
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Run Code Online (Sandbox Code Playgroud)
我是否需要做其他事情来正确设置我的CLASSPATH?
谢谢!
我们花了很多时间开发自己的自定义日志记录系统(对或错,这就是高层决定的!)我被要求编写自定义SLF4J绑定(API实现)以便我们的许多SLF4J利用组件(例如Apache Camel)将开始记录到我们新的本地系统.
我按照SLF4J网站上的说明操作了"T",创建:
StaticLoggerBinder是SLF4J使用在运行时绑定Loggers和LoggerFactory类org.slf4j.Logger呼叫一切都很好.我将它装罐并将其添加到lib测试项目的目录中,以及slf4j-api-1.6.2.jar(他们希望我使用的版本).我在Eclipse中的构建路径中添加了两个JAR.
我为测试项目创建了一个新的运行配置,在Run Configuration的Classpath选项卡窗格中,我看到它有User Entries >> TestBinding >> Slf4jBinding.jar and slf4j-api-1.6.2.jar.
因此,似乎两个JAR都在Run Configuration的类路径中.
在项目中运行看起来像这样的驱动程序:
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger(TestDriver.class);
logger.error("Test");
}
Run Code Online (Sandbox Code Playgroud)
我得到以下运行时错误:
SLF4J:无法加载类"org.slf4j.impl.StaticLoggerBinder".SLF4J:默认为无操作(NOP)记录器实现SLF4J:有关更多详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder.
去那个被引用的网站,似乎SLF4J找不到我StaticLoggerBinder在类路径上Slf4jBinding.jar,虽然不是在JAR的根级别.
我查看了SLF4J的LoggerFactory.java源文件,发现抛出此类错误的代码:
private final static void bind() {
try {
// the next line does the binding
StaticLoggerBinder.getSingleton();
INITIALIZATION_STATE = SUCCESSFUL_INITILIZATION;
emitSubstituteLoggerWarning();
} …Run Code Online (Sandbox Code Playgroud) 我有以下问题:
我有两个项目:jre1.7和android 2.1.我想首先构建一个jar文件,并在第二个项目中将其用作框架.我正在使用eclipse,当我添加外部jar时,我已经做了我通常做的事情.(右键单击项目 - 构建路径 - 添加外部Jars),似乎一切都很好,有Referenced库文件夹出现,它包含jar.
但是当我尝试编译Android项目时,它会给出NoClassDefFound错误.难道我做错了什么?
我试图在排序下创建一个包合并,但它说:
源文件夹不在Java构建类路径上

所以我右键单击sort文件夹,并尝试将其添加到Java构建类路径.但只有选项有排除,所以这意味着它应该已经包含在类路径中.

那么如何在排序下创建包呢?
编辑:
添加.classpath:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Run Code Online (Sandbox Code Playgroud) 从maven ant run插件运行ant任务时,我可以将maven classpath设置为ant属性。但是,当我尝试运行<ant:java任务设置此确切的类路径时,出现错误,指出找不到引用。好像整个类路径被解释为一个jar。有没有办法以某种方式将此类路径设置为ant java任务?
(来自Maven)
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
....
<property name="compile_classpath" refid="maven.compile.classpath"/>
....
Run Code Online (Sandbox Code Playgroud)
(来自蚂蚁)...
<path id="classpath">
<path refid="${compile_classpath}"/>
</path>
...
<java classname="..." classpathref="classpath">
...
</java>
Run Code Online (Sandbox Code Playgroud)
Maven ant run插件的版本是1.7
如果无法做到这一点,那么是否可以通过ant迭代该类路径字符串(使用';'分隔符的jar文件位置)并将jar位置的值设置为'
我有一个带有contents($ unzip -l output.jar)的jar文件:
Archive: output.jar
Length Date Time Name
--------- ---------- ----- ----
0 2013-07-08 17:57 META-INF/
120 2013-07-08 17:57 META-INF/MANIFEST.MF
0 2013-07-08 17:43 some/
0 2013-07-08 17:43 some/package/
1247 2013-07-08 17:57 some/package/Main.class
2032 2013-07-08 17:57 some/package/plsql_o12_lexer$DFA22.class
8022 2013-07-08 17:57 some/package/plsql_o12_lexer$DFA23.class
212573 2013-07-08 17:57 some/package/plsql_o12_lexer.class
--------- -------
223994 11 files
Run Code Online (Sandbox Code Playgroud)
内容META-INF/MANIFEST.MF是:
Manifest-Version: 1.0
Created-By: 1.6.0_27 (Sun Microsystems Inc.)
Main-Class: some.package.Main
Run Code Online (Sandbox Code Playgroud)
但是,运行命令$ echo $CLASSPATH; java -jar output.jar.请注意CLASSPATH变量已设置.
/usr/share/java/antlr3-runtime-3.2.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/antlr/runtime/CharStream …Run Code Online (Sandbox Code Playgroud) 如何从matlab运行clojure脚本?
我试过以下:用jdk 1.7运行matlab然后调用java
MATLAB_JAVA=/usr/lib/jvm/java-7-oracle/jre matlab
Run Code Online (Sandbox Code Playgroud)
在matlab中,设置classpath并使用clojure编译器
javaaddpath([pwd '/lib/clojure-1.5.1.jar'])
import clojure.lang.RT
Run Code Online (Sandbox Code Playgroud)
我在这里得到错误:
Error using import
Import argument 'clojure.lang.RT' cannot be found or cannot be imported.
Run Code Online (Sandbox Code Playgroud)
当我编写运行clojure的java类时,一切都在从控制台运行,但是不能从matlab运行.请指教.
我试图访问Java应用程序中的资源(标记为)文件夹,但没有任何作用,返回错误的路径
我试过了:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
System.out.println(classLoader.getResource("."));
Run Code Online (Sandbox Code Playgroud)
和
ClassLoader classLoader = Config.class.getClassLoader();
System.out.println(classLoader.getResource("."));
Run Code Online (Sandbox Code Playgroud)
但它告诉我
file:/D:/testProject/build/classes/main/,当然没有资源文件:(
如何准确访问resources文件夹?
-TestProject
|-resources
|-src
|-main
Run Code Online (Sandbox Code Playgroud) 这有效:
$ java -cp ".:/PATH/TO/RXTXcomm.jar:./jobexftp.jar" -Djava.library.path=/usr/lib/jni com.lhf.jobexftp.StandAloneApp
JObexFTP 2.0 beta (15/10/2010)
Java Obex File Transfer Protocol application and library
Developed under/using 100% free software.
For more information access: http://www.lhf.ind.br/jobexftp/
Usage: jobexftp <serialPort> [<commands>] [<options>]
...
Run Code Online (Sandbox Code Playgroud)
这不是:
$ java -cp ".:/PATH/TO/RXTXcomm.jar" -Djava.library.path=/usr/lib/jni -jar jobexftp.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: gnu/io/NoSuchPortException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
Run Code Online (Sandbox Code Playgroud)
我在jar中找到了要在META-INF/MANIFEST.MF文件中执行的类名(对于第一个示例):
Main-Class: com.lhf.jobexftp.StandAloneApp
Run Code Online (Sandbox Code Playgroud)
为什么使用-jar开关执行jar文件似乎会导致Java忽略类路径并且无法gnu/io/NoSuchPortException在RXTXcomm.jar中找到该类?
在运行Java 1.6的旧机器上,我可以执行jar文件而无需类路径.这是如何运作的?
$ env | …Run Code Online (Sandbox Code Playgroud)