标签: classpath

java版仍然显示为1.4 linux

java -version仍然返回旧的java版本.我有红帽linux

我安装了jdk 1.5 int eh follwing path并更新了bask配置文件并做了一个源但仍然是java版本显示1.4

JAVA_HOME =在/ usr /本地/ JDK/jdk1.5.0_10 /斌/ java的路径已经/usr/local/jdk/jdk1.5.0_10/bin

但我仍然看到java -version甚至从bin目录/usr/local/jdk/jdk1.5.0_10/bin中看到如下

java -version

java版"1.4.2"gcj(GCC)3.4.6 20060404(Red Hat 3.4.6-10.0.1)版权所有(C)2006 Free Software Foundation,Inc.这是免费软件; 查看复制条件的来源.没有保修; 甚至不适用于适销性或特定用途的适用性.

java linux version classpath

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

系统类加载器是否加载了类路径中的所有类,即使它们实际上没有被使用?

我正在使用JDK 1.6来运行一个小应用程序.但是我设置了一个非常庞大的类路径,其中包含很多类.

当我运行应用程序时,即使它们实际上没有在我的应用程序中使用,也会加载类加载器中的所有类?如果没有,如何强制类加载器这样做,如果是,如何避免它?谢谢!

例如,我正在使用ant 1.7来运行我的应用程序.

最诚挚的问候,罗伯特吉

java classpath classloader

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

带有来自Jar的多个XML文件的Spring ApplicationContext

我需要使用当前Maven构建中的"main"applicationContext -a.xml创建一个ApplicationContext.另一个来自另一个maven构建的连接类,并在Maven依赖项包含的jar中预设.

这个想法:

ApplicationContext context = new ClassPathXmlApplicationContext( new String[] {
                "classpath*:applicationContext-*.xml"});
Run Code Online (Sandbox Code Playgroud)

这应该从Classpath加载applicationContext-a.xml,因为它在同一个Project中.这有效.

然后应该从dependency-jar加载applicationContext-b.xml. 这不起作用.

注意

"classpath*:applicationContext-*.xml"
Run Code Online (Sandbox Code Playgroud)

只匹配直接类路径中的XML,jar中没有任何内容.

我发现了什么:

ApplicationContext context = new ClassPathXmlApplicationContext( new String[] {
                "classpath*:applicationContext-*.xml", "classpath*:applicationContext-b.xml"});
Run Code Online (Sandbox Code Playgroud)

这是有效的,但前提是我可以在jar:applicationContext-b.xml中明确告诉xml的文件名

我还需要它来进行集成测试:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"**/applicationContext*.xml"})
public class TestClass { ... }
Run Code Online (Sandbox Code Playgroud)

最好的想法可能是自定义装载机?必须有一种方法来使这个模式工作......

前段时间有一个解决方案,反之亦然:它只从jar获取applicationContext.xml.如果类路径中有另一个,它只匹配此文件.

java spring classpath classloader applicationcontext

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

在运行单元测试的想法中设置classpath

我正在使用openCSVjar来处理我的解析器项目中的csv,现在我想对我的解析器进行单元测试,为此我得到调用将它传递给我的解析器类的对象,以便我可以继续进行解析.

现在我开始了java.lang.NoClassDefFoundError: au/com/bytecode/opencsv/CSVReader,openCSVjar已经存在于项目中,但现在如果我尝试运行单元测试,我得到上面提到的错误.

如何在intellij中设置项目类路径,以便我可以运行参考所有相关jar的单元测试.

思考?

java unit-testing classpath intellij-idea

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

RAD抱怨项目缺少库文件,但它们存在于.classpath中

在我的RAD中,通常当我启动它并进入我的工作区时,我看到一些项目有一个红色错误交叉标志.通常消息是某些库丢失等.但是通过转到每个项目的构建路径,我可以看到库存在于构建路径中.

我通过删除RAD抱怨的库,构建项目,添加库并再次构建项目来解决这个问题.然后错误就消失了.似乎RAD不知何故失去了对图书馆的追踪.然而,.classpath文件显示即使RAD抱怨,该库仍然存在.

这个问题有永久性的解决办法吗?

classpath rad

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

如何在Linux中将jar文件添加到CLASSPATH?

我对此很新,我需要在Linux机器上安装应用程序(XSLTC)(我使用的是PuTTy).我在这里阅读说明.我引用:

要使用XSLTC,只需将xalan.jar,serializer.jar,xml-apis.jar和xercesImpl.jar放在类路径上

如何将jar文件添加到类路径?

java classpath xalan

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

将json jar添加到classpath java中

我是Java世界的新手.我想添加Json lib来编译我的程序.我从这里下载了文件.

当我尝试编译程序时

  javac -classpath json.jar MyClassName.java
Run Code Online (Sandbox Code Playgroud)

我收到错误:

Note: JsonSimpleExample.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Run Code Online (Sandbox Code Playgroud)

当我试图跑:

java MyClassName
Run Code Online (Sandbox Code Playgroud)

我越来越:

Exception in thread "main" java.lang.NoClassDefFoundError: org/json/simple/JSONObject
    at MyClassName.main(MyClassName.java:9)
Caused by: java.lang.ClassNotFoundException: org.json.simple.JSONObject
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 1 more
Run Code Online (Sandbox Code Playgroud)

我在哪里弄错了?

java json classpath

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

如何让Ant在javac中使用JAXB 2.2.x而不是Java 6 SE JAXB类?

我正在更新遗留应用程序以使用Java 6 SE而不是Java 5 SE.该应用程序使用JAXB,在Java 5 SE下,它在类路径上有JAXB参考实现jar.当我转到Java 6 SE(更新38)时,我遇到了一些问题(参见链接的Stackoverflow问题),我在一些帮助下解决了这个问题.

因此,导致问题的下一件事是项目Ant构建脚本.当Ant编译任务执行时,它会获取Java 6 SE附带的JAXB的嵌入式版本,而不是我在类路径中包含的jar版本(JAXB 2.2.6版本).我相信Java 6 SE包含JAXB 2.1.x. 这导致编译时错误,如下所示:

[javac] location: @interface javax.xml.bind.annotation.XmlElementRef
[javac]     @XmlElementRef(name = "abbrev", type = JAXBElement.class, required = false)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,JAXB 2.1.x中的@XmlElementRef不存在'required'属性,但它在2.2.x中存在.

如何更改我的Ant构建脚本,以便从构建类路径中获取JAXB 2.2.6 jar而不是Java 6 SE JDK中包含的类?


更新:解决方案基于彼得的答案

<target name="compile" depends="clean">
    <javac deprecation="on" 
            classpathref="prj.classpath" 
            srcdir="${src}" 
            destdir="${build.dir}" 
            debug="on" 
            debuglevel="lines,vars,source" 
            source="1.6">
        <compilerarg value="-Djava.endorsed.dirs=${lib.ext.dir}/jaxb"/>
    </javac>
</target>
Run Code Online (Sandbox Code Playgroud)

java ant jaxb classpath

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

从文件系统为Spring Batch阅读器设置资源

我想调整我的代码,使其Spring Batch reader不是从类路径读取资源文件,而是从文件系统(如C:\ inputData.xml)读取资源文件.有什么办法,怎么做?我当前的代码看起来像这样,并xml从资源文件夹中读取给定的文件就好了:

@Bean
ItemReader<FamilyBatchEntity> xmlFamilyFileItemReader() {
    StaxEventItemReader<FamilyBatchEntity> xmlFileReader = new StaxEventItemReader<>();
    xmlFileReader.setResource(new ClassPathResource("inputData.xml"));
    xmlFileReader.setFragmentRootElementName("Familiendetails");

    Jaxb2Marshaller insurantMarshaller = new Jaxb2Marshaller();
    insurantMarshaller.setClassesToBeBound(FamilyBatchEntity.class);
    xmlFileReader.setUnmarshaller(insurantMarshaller);

    return xmlFileReader;
}
Run Code Online (Sandbox Code Playgroud)

java spring classpath spring-batch

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

在Spark中将外部属性文件添加到classpath

我目前正在使用以下命令将胖子罐提交给星团。应用程序胖子罐和相关配置在/ home / myapplication文件夹中

$SPARK_HOME/bin/spark-submit --jars $SPARK_HOME/lib/protobuf-java-2.5.0.jar --class MainClass /home/myapplication/my-application-fat.jar -appconf /home/myapplication/application-prop.properties -conf /home/myapplication/application-configuration.conf
Run Code Online (Sandbox Code Playgroud)

现在,我的要求是将外部属性文件/home/myapplication/external-prop.properties添加到驱动程序节点和工作程序节点的类路径。

我搜索了很多资源,但找不到我要的正确解决方案!

请帮助解决问题。提前致谢

properties classpath apache-spark spark-submit

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