标签: classpath

Mac上的CLASSPATH,以及Mac如何寻找mysql-connector-java-bin.jar

Mac OS X 10.6上是否有默认的类路径?当我echo $CLASSPATH,没有任何东西会出现.在我看来.profile,我只看到PATH变量被设置.我的问题是我的servlet似乎无法找到一个合适的驱动程序来连接到mysql服务器.我使用Eclipse,用于Glassfish v3MAMP用于MYSQL服务器.

java jdbc classpath

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

使用Maven帮助构建和运行Java项目

我想尝试一下本文中的示例代码: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?

谢谢!

java build classpath maven

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

SLF4J自定义绑定不起作用

我们花了很多时间开发自己的自定义日志记录系统(对或错,这就是高层决定的!)我被要求编写自定义SLF4J绑定(API实现)以便我们的许多SLF4J利用组件(例如Apache Camel)将开始记录到我们新的本地系统.

我按照SLF4J网站上的说明操作了"T",创建:

  • 一个StaticLoggerBinder是SLF4J使用在运行时绑定LoggersLoggerFactory
  • 一个记录器适配器,用于"转发" 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)

java eclipse classpath slf4j

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

将外部jar添加到android项目中

我有以下问题:

我有两个项目:jre1.7和android 2.1.我想首先构建一个jar文件,并在第二个项目中将其用作框架.我正在使用eclipse,当我添加外部jar时,我已经做了我通常做的事情.(右键单击项目 - 构建路径 - 添加外部Jars),似乎一切都很好,有Referenced库文件夹出现,它包含jar.

但是当我尝试编译Android项目时,它会给出NoClassDefFound错误.难道我做错了什么?

java android jar classpath

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

源文件夹不在Java构建类路径上,创建Java包

我试图在排序下创建一个包合并,但它说:

源文件夹不在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)

java eclipse class classpath package

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

类路径问题:使用Maven Antrun插件运行ant java任务

从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位置的值设置为'

java ant classpath maven

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

Java无法从CLASSPATH加载类

我有一个带有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)

java classpath

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

如何从matlab运行clojure

如何从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运行.请指教.

matlab clojure classpath

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

无法访问Java中的资源文件夹

我试图访问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 resources classpath classloader gradle

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

使用-jar开关执行jar文件时,为什么java不尊重类路径?

这有效:

$ 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)

java jar rxtx classpath

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

标签 统计

classpath ×10

java ×9

eclipse ×2

jar ×2

maven ×2

android ×1

ant ×1

build ×1

class ×1

classloader ×1

clojure ×1

gradle ×1

jdbc ×1

matlab ×1

package ×1

resources ×1

rxtx ×1

slf4j ×1