Tag: classpath

从命令行运行Mahout(CLASSPATH)

使用Maven在Windows下成功编译了Mahout。 我试图从命令行运行其中一个示例,但我不知道我做错了什么。 看起来像CLASSPATH问题。 假设我想运行GroupLensRecommenderEvaluatorRunner示例。 我转到包含GroupLensRecommenderEvaluatorRunner.class文件的文件夹并执行: java -cp C:/mahout/core/target/classes;. org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner 它为GroupLensRecommenderEvaluatorRunner类提供了NoClassDefFoundErrorexception。 -cp的路径是错误的吗? 顺便说一句,对于那些不熟悉mahout的人, org.apache.mahout.cf.taste.example.grouplens 是GroupLensRecommenderEvaluatorRunner类的包。 的javadoc 多谢你们。 ps – 在问这个问题之前,我首先查看了之前关于CLASSPATH的stackoverflow问题并遵循了给定的解决方案。

如何使用通配符将JavaCompiler的类路径设置为多个.jar文件

我正在使用javax.tools JavaCompiler编译一些java代码,我试图在我的classpath中使用通配符以包含所有.jar文件,但是我失败了。 这是我的代码: String classpath = “C:\tomcat6\webapps\myapp/WEB-INF/lib/javax.ws.rs-api-2.0-m10.jar;” + “C:\\tomcat6\\webapps\\myapp/WEB-INF/lib/javax.persistence-2.1.0.jar”; Iterable options = Arrays.asList(“-d”, classesBaseDir, “-classpath”, classpath); JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, options, null, file); boolean result = task.call(); 上面的代码工作得很好。 但是当我试图将classpath更改为 String classpath = “C:\\tomcat6\\webapps\\myapp/WEB-INF/lib/*”; 它失败了 compiler.err.doesnt.exist|package javax.ws.rs does not exist … symbol: class GET location: class com.my.oasis.resources.TestClass 09/04/2014 14:27:09:030 | COMPILER_DIAGNOSTIC | compileResource() – […]

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

当从maven ant run插件运行ant任务时,我可以将maven classpath设置为ant属性。 但是当我尝试运行<ant:java task setting这个确切的类路径时,我得到了无法找到引用的错误。 好像整个类路径被解释为一个jar。 有没有办法以某种方式将此类路径设置为ant java任务? (来自maven) maven-antrun-plugin …. …. (来自ant)…… … … maven ant run插件的版本是1.7 如果无法做到这一点,在ant中有一些方法来迭代这个类路径字符串(jar文件的位置带有’;’分隔符)并将jar位置的值设置为’

让Rhino JS看Java类

我正在玩Rhino ,我已经成功使用了stdlib中的Java类,但是没有使用我编译的Java代码。 例如,这很好用: print(new java.util.Date()); 但是使用NanoHTTPD (单个.java文件,没有名称空间,相同的文件夹),我根本就没有运气: js> new Packages.NanoHTTPD() js: “”, line 4: uncaught JavaScript runtime exception: TypeError: [JavaPackage NanoHTTPD] is not a function, it is object. at :4 我确信这很简单。 我错过了什么? 编辑 :我发布它是这样的: $ CLASSPATH=. java -jar rhino.jar 或这个: $ java -classpath . -jar rhino.jar 或者我将NanoHTTPD.java移动到文件夹“./nano”中,添加了package nano; 到文件的顶部,编译它,然后替换“。” 在上面的类路径分配中使用“nano”。 无论如何,我在翻译中看到: js> java.lang.System.getProperty(“java.class.path”) /Users/me/blah/rhino.jar

Tomcat 6 vs 7 – lib vs shared / lib – jars only?

从Tomcat 6升级到Tomcat 7时 – 我们在6上的$ CATALINA_HOME / lib目录中的类路径上保留了我们想要的许多文件 – 在Tomcat 7上移动这两个$ CATALINA_HOME / shared / lib是有意义的。 我们发现jar文件没有问题 – 但是任何不是jar文件的东西 – 例如xml文件等都没有被shared / lib目录中加载的类拾取。 当我们将非jar文件移回$ CATALINA_HOME / lib目录时 – 它们加载到类路径中而没有问题。 我的问题是 – 这是Tomcat 7中类加载器中的错误吗? 或者这是预期的行为? (无法以与从$ CATALINA_HOME / lib加载文件的方式不一致的方式从$ CATALINA_HOME / shared / lib将非jar文件加载到类路径中) 操作系统:Windows7 Tomcat版本:7.0.30 Java版本:1.7.0_11

管理java类路径上的冲突

我暴露了我的背景: 我有两个在独特的Weblogic Server上运行的Java程序:程序A和程序B.这些程序由两个ksh启动: programA.ksh和programB.ksh 两者都需要C.jar但是在不同的版本中(但具有完全相同的包和类): 程序A需要C-1.0.jar 程序B需要C-2.0.jar 我确切地说两个程序共享相同的weblogic类路径。 所以,我的classpath按顺序包含: ….. C-1.0.jar C-2.0.jar ….. 我怎么能这样做,每个程序找到它的好库? 例如,根据我的实际配置,程序B将始终使用C-1.0.jar而不是C-2.0.jar,因为类路径上的优先级位置。

如何在两个项目之间共享代码?

我有两个名为A和B的Java项目。它们都是作为war文件部署的Web应用程序。 我分别在Eclipse工作区中创建它们。 项目B使用名为MusicMapper项目A中的类。 我按照本文中的建议将项目A添加到项目B的Eclipse构建路径中。 所以现在项目B可以编译而没有任何错误,通过在项目B中导入它可以在项目B中看到类MusicMapper : import com.projectA.MusicMapper; 在我启动项目B的Web应用程序之前,一切似乎MusicMapper 。但是,当我启动项目B并调用项目A中引用类MusicMapper的代码时,我收到以下运行时错误: java.lang.ClassNotFoundException: com.projectA.MusicMapper 所以这个错误似乎是由从项目A导入的未完成的类com.projectA.MusicMapper引起的。因为我已经将项目A添加到项目B构建路径并且项目B编译没有任何错误,为什么它在运行时报告此错误? 我采取的另一种方法是:我还尝试在项目B的pom.xml使用以下Maven导入: com.projectA projectA 0.0.1-SNAPSHOT system /path/to/projectA.jar 其中projectA.jar是我从项目A导出的jar文件。但它仍然给了我相同的ClassNotFoundException 。 如何使项目A中的类可以被项目B使用? 似乎我试过的这两种方法都不起作用。

Java类路径和相对路径

如果在java类路径中有相对路径,那么这只是搜索当前工作目录。 对清单文件中声明的类路径是否保持相同。 在清单文件中它是相对于jar所在的目录? 防爆。 CMDLINE java -cp somejar.jar 要么 表现 Class-Path: somejar.jar

尽管设置了PATH和CLASSPATH,但无法执行jar文件

我的问题是关于在路径中包含jar文件。 它有两个部分。 1)我正在尝试执行位于/home/andy/software/weka/weka.jar中的weka.jar jar文件 PATH变量指向此jar文件(即/home/andy/software/weka/weka.jar),CLASSPATH也是如此。 但是,当我尝试使用java -jar weka.jar运行jar时,出现错误“无法访问jarfile weka.jar”。 有什么想法发生了什么? 我在Ubuntu Linux上。 我在SO中环顾四周,似乎我没有做任何明显错误的事情(因为PATH和CLASSPATH似乎都设置正确)。 2)我希望能够将我的所有jar文件放在一个目录中并在我的路径中包含该目录(而不是单独包含每个jar)。 我怎样才能做到这一点? 提前致谢。 编辑1 – >这是我的命令行 andy@laptop:~$ export CLASSPATH=$CLASSPATH:/home/andy/research/software/weka/weka.jar andy@laptop:~$ echo $CLASSPATH :/home/andy/research/software/weka/weka.jar andy@laptop:~$ java -jar weka.jar Unable to access jarfile weka.jar andy@laptop:~$ java weka.jar Exception in thread “main” java.lang.NoClassDefFoundError: weka/jar Caused by: java.lang.ClassNotFoundException: weka.jar at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) […]

使用Eclipse在Manifest文件中构建ClassPath变量

在将项目导出为jar时,Eclipse是否有办法输出我想在Manifest中的ClassPath变量上定义的所有Jars? 我希望能够只需要点击我需要我的项目依赖的所有jar,然后让Eclipse输出它们: ClassPath: . /lib/somejar.jar /lib/otherjar.jar 谢谢