标签: classpath

Eclipse:有一种简单的方法来协调整个团队中的"已安装的JRE"吗?

我有一个由大约10个不同的Eclipse项目组成的应用程序.有些项目必须使用Java 5构建,其他项目必须使用Java 6.我将这两个JDK分别在Eclipse的"已安装的JRE"列表中注册为"jdk5"和"jdk6".

适当的JRE位于每个项目的构建类路径上,该路径反映在.classpath文件中.但是,我团队中的其他成员正在他们的计算机上为这些JRE使用不同的符号名称.此外,.classpath文件被检入源代码管理.因此,人们需要对其.classpath文件进行本地更改才能构建.

我的直觉是为已安装的JRE列表选择一个命名约定,并要求所有团队成员坚持使用它.但是,这只会使设置新开发人员的过程变得复杂.真的,我只想说"用Java 5构建这个项目"和"用Java 6构建该项目".我不在乎它们的安装位置,或者它们的符号名称.Eclipse是否支持这种配置?

eclipse classpath

5
推荐指数
1
解决办法
392
查看次数

第三方.jar包含在Google App Engine中

我正在使用使用第三方库的Java编写Google App Engine应用程序。运行应用程序并引用第三方库的行时,运行该应用程序时出现“ java.lang.NoClassDefFoundError”错误。创建普通的servlet时,此应用程序可以工作,因此,我很确定代码是正确的。

我正在Eclipse中进行开发。

应用程序引擎是否不允许第三方库?

我是否需要以其他方式配置类路径?

救命!!

java eclipse google-app-engine classpath

5
推荐指数
1
解决办法
1811
查看次数

设置Java-基本(但还不是那么基本...)

最近,我开始使用Head First Java来学习Java,但我发现这本书缺乏有关设置Java的大量信息。它几乎告诉我下载JDK,并提到了有关类路径变量的内容。

我非常困惑,很明显,我的Java尚未设置为可以运行。所以...我进行了研究,并设法将/ bin /目录添加到CLASS_PATH中,并且还创建了一个名为JAVA_HOME的新系统变量,并将其指向bin文件夹。我不太确定该怎么做-这个话题对于其他每个程序员似乎都很容易,因为我找不到其他人在设置Java环境方面有如此困难。

因此,我现在可以编译并运行程序。我已经做了一些Hello World的事情,yada yada。现在,在第37页上,我们实际上将要做一些OOP的工作。这些是类:

class Movie {
    String title;
    String genre;
    int rating;

    void PlayIt() {
        System.Out.println("Playing the movie");
    }
}
Run Code Online (Sandbox Code Playgroud)

第二个:

public class MovieTestDrive  {
    public static void main(String[] args) {
        Movie one = new Movie();
        one.title = "Movie 1";
        one.genre = "Movie 1 Genre";
        one.rating = -2
        two.title = "Movie 2";
        two.genre = "Movie 2 Genre";
        two.rating = -1
        three.title = "Movie 3";
        three.genre = "Movie 3 Genre";
        three.rating = 3
    }
} …
Run Code Online (Sandbox Code Playgroud)

java classpath

5
推荐指数
1
解决办法
321
查看次数

为hadoop工具设置其他类路径

如何动态设置其他类路径,以便可以从hadoop工具类访问jar?我正在通过"hadoop jar"来完成我的工作.我需要类似"-libjars"开关的东西,不幸的是它只适用于映射器和缩减器,我的工具实现没有看到"libjars"提供的jar

导出"HADOOP_CLASSPATH = $ HADOOP_CLASSPATH:/path/to/my.jar && hadoop jar ..."似乎使工具可以访问"my.jar",但是"/ lib"文件夹中的作业jar内的库变得无法进入.

hadoop jar classpath

5
推荐指数
1
解决办法
7112
查看次数

Clojure Lein Classpath Woes

我有一个Leiningen project.clj文件如下:

(defproject insane-noises "1.0.0-SNAPSHOT"                                      
  :description "FIXME: write description"                                       
  :dependencies [[org.clojure/clojure "1.3.0"]                                  
                 [overtone "0.6.0"]]                                            
  :source-paths ["/Volumes/ramdisk"]                                            
  :java-source-paths ["/Volumes/ramdisk"]                                       
  :native-path "/Volumes/ramdisk")
Run Code Online (Sandbox Code Playgroud)

现在,当我跑

$ lein repl
user=> (seq (.getURLs (java.lang.ClassLoader/getSystemClassLoader)))
Run Code Online (Sandbox Code Playgroud)

路径/ Volumes/ramdisk不会显示在路径中的任何位置.这是怎么回事?

为Leiningen设置课程路径的正确方法是什么?(它似乎也忽略了我环境中定义的CLASSPATH变量.)

编辑:回复评论

user=> (seq (.. Thread currentThread getContextClassLoader getURLs))
nil
Run Code Online (Sandbox Code Playgroud)

编辑:问题已解决.我在用

$ lein version
Leiningen 1.7.1 on Java 1.6.0_29 Java HotSpot(TM) 64-Bit Server VM
Run Code Online (Sandbox Code Playgroud)

但是,我显然使用了Lein 2.0的符号

java clojure classpath leiningen

5
推荐指数
1
解决办法
4936
查看次数

包括clojure中的罐子

我已经下载并安装了一个带有Maven的jar(如此处所述),但现在我需要在项目中需要它.我按照git README((require '[clj-http.client :as client]))上的说明操作,但我仍然收到此错误:

FileNotFoundException Could not locate clj_http/client__init.class or clj_http/client.clj on classpath:   clojure.lang.RT.load (RT.java:430)
Run Code Online (Sandbox Code Playgroud)

java jar clojure classpath

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

默认情况下,Maven不会将src/test/java中的*.xml文件复制到target/test-classes

我已经退出编程一段时间了,我又回到了它,我遇到了一个非常特殊的问题.在过去,每当我从Maven中编译测试代码时,它都会将测试源树中包含的所有*.xml资源文件复制到target/test-classes.但昨晚,在我目前的项目中,它不再这样做 - 这不是我的预期.每当我通过Maven或Intellij IDEA运行测试时,测试都会失败,因为它在类路径中找不到任何*.xml文件 - 它们从未被复制过.

我在我的计算机上使用完全相同的.pom文件和项目结构的旧项目,并且*.xml文件复制得很好.

为了解决这个问题,我将以下XML包含在我的Maven POM中:

    <testResources>
        <testResource>
            <directory>src/test/java</directory>
            <filtering>false</filtering>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </testResource>
    </testResources>
Run Code Online (Sandbox Code Playgroud)

虽然这解决了这个问题,但我仍然很好奇为什么我不得不告诉Maven手动将我的测试源树中的*.xml文件复制到我的target/test-classes目录.就像我说的那样,过去两年中的其他旧项目都是在没有我指定的情况下复制*.xml文件testResources.

什么可能导致这种行为?

java testing resources classpath maven

5
推荐指数
1
解决办法
5737
查看次数

OSGi中的类路径扫描

我的项目有一组自定义的注释,可以存在于OSGi 4.3框架中部署的任何bundle中.我想在类路径中找到任何带有这些注释的类.我尝试为找到的每个类使用BundleWiring.listResources(...)和Bundle.loadClass(...).我用一小组bundle做了一些测试,它需要大约200MB的Permanent Generation JVM内存空间,因为所有的类都被加载了.

当程序意识到它们没有这些注释时,有没有办法释放加载的类PermGen内存空间?

有没有更好的方法在OSGi框架中查找带注释的类?

osgi classpath permgen

5
推荐指数
1
解决办法
1172
查看次数

如何指定系统独立的类路径

我需要运行带有自定义类路径的java命令.

在Windows上我需要输入:

java -cp foo;bar
Run Code Online (Sandbox Code Playgroud)

在Linux上我需要输入:

java -cp foo:bar
Run Code Online (Sandbox Code Playgroud)

我们目前有一个包含第一个版本的.bat文件和一个包含第二个版本的.sh文件.这在大多数情况下工作正常,但在Windows上的git-bash失败,这需要带有分号分隔符的shell脚本.

是否有任何系统独立的方式来编写这样的类路径?

我会想到类似的东西

java -cp foo -cp bar
Run Code Online (Sandbox Code Playgroud)

但这不是这种方式.

目前,我看到的唯一方法是让一些shell逻辑确定操作系统并从中生成正确的命令行.

java方式有更简单的方法吗?

java command-line classpath

5
推荐指数
1
解决办法
1017
查看次数

Eclipse中的UIMA示例无法正常工作

我是Eclipse和UIMA的新手.我正在尝试在Eclipse Luna -j2ee平台上运行UIMA示例.我可以在示例中从终端运行cvd.sh.

当我尝试从"运行配置"运行示例时,我遇到如下错误:

Error: Could not find or load main class org.apache.uima.tools.cvd.CVD
<terminated>UIMA CAS Visual Debugger [Java Application] 
<terminated, exit value: 1>/usr/lib/jvm/java-7-openjdk-i386/bin/java (22-May-2015 5:52:13 am)   
Run Code Online (Sandbox Code Playgroud)

我试图从运行配置运行,我也看到其他示例的类似错误,如 -

Error: Could not find or load main class org.apache.uima.tools.AnnotationViewerMain

<terminated>UIMA Annotation Viewer [Java Application]   
<terminated, exit value: 1>/usr/lib/jvm/java-7-openjdk-i386/bin/java (22-May-2015 6:33:43 am)   
Run Code Online (Sandbox Code Playgroud)

可能是什么问题呢?

我觉得它可能是一些路径相关的问题,因为终端apache-uima/bin中的示例(至少其中一些)正在工作......

我正在使用debian,如果这有帮助的话.

java eclipse classpath uima

5
推荐指数
1
解决办法
1945
查看次数