标签: classpath

确定Matlab加载的java类的位置

当使用Matlab中的java时,有没有办法弄清楚matlab的java类路径在哪里被加载?我正在尝试诊断由同时使用的同一类的冲突版本引起的错误.

具体来说,我正在寻找的类是org.apache.lucene.store.FSDirectory.它似乎被其中一个matlab工具箱使用,但我不知道哪一个.

java matlab classpath

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

使用ant的java任务和类路径的ClassNotFoundException

我试图在eclipse中编译并运行一个简单的java类.编译任务工作正常,因为我没有指定目标文件夹,所以构建文件与源位于同一目录中.哪个没关系,目前我需要的是学习如何使用main()方法运行该类.

我已经尝试使用类的完全限定名称(包名称等)和类名,但总是得到一个java.lang.ClassNotFoundException

    Buildfile: C:\Users....\build.xml
    run:
         [java] java.lang.NoClassDefFoundError: code/control/MyClass
         [java] Caused by: java.lang.ClassNotFoundException: code.control.MyClass
         [java]     at java.net.URLClassLoader$1.run(Unknown Source)
         [java]     at java.security.AccessController.doPrivileged(Native Method)
         [java]     at java.net.URLClassLoader.findClass(Unknown Source)
         [java]     at java.lang.ClassLoader.loadClass(Unknown Source)
         [java]     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
         [java]     at java.lang.ClassLoader.loadClass(Unknown Source)
         [java]     at java.lang.ClassLoader.loadClassInternal(Unknown Source)
         [java] Could not find the main class: code.control.MyClass.  Program will exit.
         [java] Exception in thread "main" 
         [java] Java Result: 1
    compile:
    default:
    BUILD SUCCESSFUL
 Total time: 234 milliseconds
Run Code Online (Sandbox Code Playgroud)

下面是我的build.xml文件中的目标:

<target name="default" depends="compile" description="learn">

</target>

  <target name="compile" depends="run">
            <javac srcdir="src/" …
Run Code Online (Sandbox Code Playgroud)

java ant classpath

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

在WebLogic 10中将项添加到应用程序(WAR)类路径?

我的商店已经运行Oracle的Application Server多年了.因此,在我们更好地了解之前,我们已经开发出一种规范,即将应用程序配置文件存储在WAR文件之外,并使用特定于Oracle的部署描述符将特定于应用程序的配置目录添加到每个应用程序中.此部署描述符允许我们在应用程序层添加类路径元素,而不必在WAR中包含所有依赖项.

现在我们面临升级到WebLogic 10.3的问题,我需要为依赖于外部配置的应用程序找到替代方案.

WebLogic中是否有一种方法可以将外部jar或目录添加到应用程序级别的类加载器中?我已经找到了将它们添加到系统类加载器的方法,但我更愿意将它们添加到应用程序级别,以避免在修改部署描述符之外重新处理应用程序.

在WebLogic 10中是否可以这样做?

weblogic classpath weblogic-10.x

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

Apache Commons Id UUID版本1代的问题

我的问题是生成版本1 UUID.我们使用Jetty 6.x,Maven(启动Jetty等)和Apache Commons ID(从当前时间生成UUID版本1).

Apache Commons ID需要使用参数向JVM通知配置文件,例如'org.apache.commons.id.uuid.config.resource.filename = commons-id-uuid.xml'.我检查了Apache Commons ID代码,它试图从类路径中找到该文件.Jetty的文档声明WEB-INF/lib和WEB-INF/classes在类路径中.'commons-id-uuid.xml'可以从WEB-INF/classes目录的根部署的war文件中找到,但是Jetty无法加载它:

Message: java.lang.RuntimeException: 
java.lang.IllegalStateException: commons-id-uuid.xml loaded as system resource is null
Run Code Online (Sandbox Code Playgroud)

Jetty使用以下命令启动:

mvn jetty:run -Dorg.apache.commons.id.uuid.config.resource.filename=commons-id-uuid.xml
Run Code Online (Sandbox Code Playgroud)

什么出了什么问题?我们只需要生成UUID版本1标识符.有什么建议?

java uuid jetty classpath apache-commons

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

java.lang.NoClassDefFoundError:org/apache/poi/hssf/usermodel/HSSFWorkbook

java.lang.NoClassDefFoundError:org/apache/poi/hssf/usermodel/HSSFWorkbook
Run Code Online (Sandbox Code Playgroud)

这是java web项目.java项目没问题,但在网络上,我遇到了这个例外.

Caused by: java.lang.ClassNotFoundException: org.apache.poi.hssf.usermodel.HSSFWorkbook
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
Run Code Online (Sandbox Code Playgroud)

maven依赖:

<!-- apahce poi -->
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-scratchpad</artifactId>
        <version>3.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml-schemas</artifactId>
        <version>3.7</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

java classpath noclassdeffounderror apache-poi maven

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

antlib和classpathref

我有以下build.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<project name="Minimal" default="default" basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant">
    <path id= "libs.folder" >
         <fileset dir= "lib" >
             <include name= "*.jar" /> 
         </fileset>
    </path>

    <typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="libs.folder" /> 
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="libs.folder"/>
    <artifact:pom id="pom.file" file="pom.xml" />
    <property name="pom.version" value="${pom.file.version}"/>

   <groovy src="test.groovy">
    <arg line="3"/>
   </groovy>
...
Run Code Online (Sandbox Code Playgroud)

它位于以下结构中:

my-project
  -> lib
     -> maven-ant-tasks.jar
     -> svnant.jar
     -> groovy-all.jar
     -> svnClientAdapter.jar
  -> build.xml
  -> pom.xml
  -> test.groovy
Run Code Online (Sandbox Code Playgroud)

当我运行构建文件时,我得到:

BUILD FAILED
....\build.xml:18: Problem: failed to create task or type antlib:org.apache.maven.artifact.ant:pom
Cause: The name is undefined.
Action: …
Run Code Online (Sandbox Code Playgroud)

ant classpath

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

在运行目标之前,将自定义jar添加到ant的类路径中

我试图在实际调用目标之前向ant的类路径添加更多自定义jar,但它没有采用我的自定义jar,因此我从ant的taskdef类中得到错误无法找到ClassName.有办法处理这个吗?

main.ksh

#/bin/ksh

.
.

ANT_CLASSPATH=$JDK_HOME/jre/lib/rt.jar
ANT_CLASSPATH=$ANT_CLASSPATH:$ANTBUILD_HOME/lib/ant-$ANT_VERSION.jar
.
.

echo $ANT_CLASSPATH
export ANT_CLASSPATH

.
.
# java call with framed ANT_CLASSPATH to ant target which is part of main build.xml ### This call, I don't want to run without my custom jar in ANT_CLASSPATH ###
Run Code Online (Sandbox Code Playgroud)

我的新ksh文件如下所示,我将新的自定义jar添加到ANT_CLASSPATH

sub.ksh

#/bin/ksh


# Adding some more to jars to ANT_CLASSPATH

export ANT_CLASSPATH=../lib/custom/custom-3.0.jar


main.ksh new-build.xml $*
Run Code Online (Sandbox Code Playgroud)

ant classpath

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

你如何用Leiningen指定类路径?

在Clojure中,我有一个Leiningen项目

/src/project/core.clj
Run Code Online (Sandbox Code Playgroud)

我想为此添加一个子目录.例如.

/src/project/examples/example-one.clj
Run Code Online (Sandbox Code Playgroud)

在我的core.clj文件中,我尝试从中拉入

project.examples.example-one
Run Code Online (Sandbox Code Playgroud)

但lein编译仍然告诉我

Could not locate project/examples/example_one__init.class or project/examples/example_one.clj on classpath: 
Run Code Online (Sandbox Code Playgroud)

如果在主代码目录中添加子目录,是否必须显式更新project.clj文件?(我没有看到主代码目录本身是明确给出的.)

clojure classpath leiningen

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

java命令行编译

我有一个简单的单文件java程序,它依赖于一个静态jar.java代码和jar驻留在同一目录中.对于这种一次性解决方案,我不想引入ant或maven的重量,只想直接编译它.

在我的开发框中,以下编译并运行我的代码:

javac -cp ".;dependency.jar" File.java
java -cp ".;dependency.jar" File
Run Code Online (Sandbox Code Playgroud)

但是,在我的测试框中,java命令失败,我得到以下输出:

Error: Could not find or load main class File
Run Code Online (Sandbox Code Playgroud)

如果我将类路径arg更改为-cp "."我得到以下输出:

Exception in thread "main" java.lang.ClassNotFoundException: dependency
Run Code Online (Sandbox Code Playgroud)

我的开发盒是64位Windows/Cygwin和java版本1.7.0_55.我的测试盒是64位Linux和java版本1.7.0_45.

我的测试盒出了什么问题?

java classpath

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

Maven类路径错误多个SLF4J绑定

尝试进行MAVEN INSTALL时出现此错误。我尝试排除,但不确定pom文件中的位置。让我在pom文件中应如何以及应使用哪些排除标签。我还将我的pom文件片段附加在其中,以包括排除项SLF4J:类路径包含多个SLF4J绑定。

SLF4J:在[jar:file:/ C:/Users/147188/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/ org / slf4j / impl / StaticLoggerBinder.class]

SLF4J:在[jar:file:/ C:/Users/147188/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.10.0/log4j-slf4j-impl-2.10.0中找到绑定.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J:有关说明,请参见http://www.slf4j.org/codes.html#multiple_bindings。SLF4J:实际绑定的类型为[ch.qos.logback.classic.util.ContextSelectorStaticBinder]

POM文件:

<!-- Start of required part to make log4j work -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
    <exclusion>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
</exclusions> 
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>

    <exclusions>
    <exclusion>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
    <exclusions>
    <exclusion>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
</exclusions> 
</dependency>
        <!-- End of required part to make log4j work -->
Run Code Online (Sandbox Code Playgroud)

maven-2 log4j classpath slf4j maven

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